hamide_kh
دوشنبه 19 اردیبهشت 1390, 10:43 صبح
با سلام خدمت تمامی دوستان
بنده در جدول کاربران دیتابیسم علاوه بر فیلدهای usernameو password یک فیلد هم به نام active دارم که برای مشخص کردن اینکه آیا این کاربر فعال هست یا نه استفاده میشه
کد زیر را برای واکشی اینکه آیا کاربر username و password را صحیح وارد کرده استفاده می کنم
ALTER PROC [dbo].[sp_Select_User]
@UserName NVARCHAR(50),
@PassWordd NVARCHAR(50)
AS
SELECT Count(*) FROM Tbl_User where ((Username=@UserName)AND(Passwordd=@PassWordd))
و کد در c# نیز این می باشد.
try
{
SqlConnection con = new SqlConnection(SqlConection);
SqlCommand cmd = new SqlCommand("Sp_Select_User", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Username", SqlDbType.NVarChar, 50).Value = TxtUsername.Text;
cmd.Parameters.Add("@Passwordd", SqlDbType.NVarChar, 50).Value = TxtPassword.Text;
con.Open();
int result = (int)cmd.ExecuteScalar();
if (result == 1)
{
timer1.Enabled = true;
label3.Visible = true;
}
else
{
FarsiMessageBox.MessageBox.Show("پیغام", "نام کاربری یا رمز عبور صحیح نمی باشد.", FarsiMessageBox.MessageBox.Buttons.OK, FarsiMessageBox.MessageBox.Icons.Information);
TxtPassword.Text = "";
TxtUsername.SelectAll();
}
con.Close();
}
catch
{
FarsiMessageBox.MessageBox.Show("پیغام", "در اتصال برنامه به بانک اطلاعاتی خطایی رخ داده است.", FarsiMessageBox.MessageBox.Buttons.OK, FarsiMessageBox.MessageBox.Icons.Information);
}
حالا من میخوام دستورات sql را طوری تغییر بدم که وقتی در C#کاربر دکمه ورود را میزنه بتونم تشخیص بدم که کاربر active هست یا نه
در ضمن فیلد Active از نوع bit می باشد
کد زیر را امتحان کردم اما Error میده
ALTER PROC [dbo].[sp_Select_User]
@UserName NVARCHAR(50),
@PassWordd NVARCHAR(50)
AS
SELECT Count(*),Active FROM Tbl_User where ((Username=@UserName)AND(Passwordd=@PassWordd))
group by Id_User
بنده در جدول کاربران دیتابیسم علاوه بر فیلدهای usernameو password یک فیلد هم به نام active دارم که برای مشخص کردن اینکه آیا این کاربر فعال هست یا نه استفاده میشه
کد زیر را برای واکشی اینکه آیا کاربر username و password را صحیح وارد کرده استفاده می کنم
ALTER PROC [dbo].[sp_Select_User]
@UserName NVARCHAR(50),
@PassWordd NVARCHAR(50)
AS
SELECT Count(*) FROM Tbl_User where ((Username=@UserName)AND(Passwordd=@PassWordd))
و کد در c# نیز این می باشد.
try
{
SqlConnection con = new SqlConnection(SqlConection);
SqlCommand cmd = new SqlCommand("Sp_Select_User", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Username", SqlDbType.NVarChar, 50).Value = TxtUsername.Text;
cmd.Parameters.Add("@Passwordd", SqlDbType.NVarChar, 50).Value = TxtPassword.Text;
con.Open();
int result = (int)cmd.ExecuteScalar();
if (result == 1)
{
timer1.Enabled = true;
label3.Visible = true;
}
else
{
FarsiMessageBox.MessageBox.Show("پیغام", "نام کاربری یا رمز عبور صحیح نمی باشد.", FarsiMessageBox.MessageBox.Buttons.OK, FarsiMessageBox.MessageBox.Icons.Information);
TxtPassword.Text = "";
TxtUsername.SelectAll();
}
con.Close();
}
catch
{
FarsiMessageBox.MessageBox.Show("پیغام", "در اتصال برنامه به بانک اطلاعاتی خطایی رخ داده است.", FarsiMessageBox.MessageBox.Buttons.OK, FarsiMessageBox.MessageBox.Icons.Information);
}
حالا من میخوام دستورات sql را طوری تغییر بدم که وقتی در C#کاربر دکمه ورود را میزنه بتونم تشخیص بدم که کاربر active هست یا نه
در ضمن فیلد Active از نوع bit می باشد
کد زیر را امتحان کردم اما Error میده
ALTER PROC [dbo].[sp_Select_User]
@UserName NVARCHAR(50),
@PassWordd NVARCHAR(50)
AS
SELECT Count(*),Active FROM Tbl_User where ((Username=@UserName)AND(Passwordd=@PassWordd))
group by Id_User