PDA

View Full Version : خطا در کوئری لاگین



RIG000
سه شنبه 30 آبان 1391, 17:19 عصر
با سلام !

این کد های من واسه ورود هست ....
مشکل اینه که هیچ اروری نداره اما در هر صورت ELSE رو اجرا میکنه !!!

string Puser = "";
string Ppass = "";
string UrlOk = "~/Default2.aspx";
string UrlNo = "~/Default.aspx";

string CmdQuery = "SELECT * FROM login_1 WHERE username='" + Puser + "' and password='" + Ppass + "'";// +"LIMIT 1";

OleDbCommand Cmd = new OleDbCommand(CmdQuery,AccessClass.Con);
Cmd.Parameters.AddWithValue(Puser,boxuser.Text);
Cmd.Parameters.AddWithValue(Ppass,boxpassword.Text );
OleDbDataAdapter Da = new OleDbDataAdapter(Cmd);
DataTable Dt = new DataTable();
Dt.Clear();
Da.Fill(Dt);
if (Dt.Rows.Count > 0)
{
Response.Redirect(UrlOk);
}
else
{
Response.Redirect(UrlNo);
}

RIG000
سه شنبه 30 آبان 1391, 17:24 عصر
جالب اینه که من این قسمت رو اینجوری
if (Dt.Columns.Count > 0)
تغییر دادم سطر به ستون عو شد اما این بار در هر دوصورت if اجرا میشه!!!

RIG000
سه شنبه 30 آبان 1391, 17:44 عصر
کسی نبود مار رو کمک کنه؟

veniz2008
سه شنبه 30 آبان 1391, 17:56 عصر
سلام.

string CmdQuery = "SELECT * FROM login_1 WHERE username= @Puser and password= @Ppass;// +"LIMIT 1";
OleDbCommand Cmd = new OleDbCommand(CmdQuery,AccessClass.Con);
Cmd.Parameters.AddWithValue(@Puser,boxuser.Text);
Cmd.Parameters.AddWithValue(@Ppass,boxpassword.Tex t );

command رو قبل از پر کردن دیتاتیبل اجرا کنید (executnonquery ).

mhq1368
سه شنبه 30 آبان 1391, 18:14 عصر
با سلام !

این کد های من واسه ورود هست ....
مشکل اینه که هیچ اروری نداره اما در هر صورت ELSE رو اجرا میکنه !!!

string Puser = "";
string Ppass = "";
string UrlOk = "~/Default2.aspx";
string UrlNo = "~/Default.aspx";

string CmdQuery = "SELECT * FROM login_1 WHERE username='" + Puser + "' and password='" + Ppass + "'";// +"LIMIT 1";

OleDbCommand Cmd = new OleDbCommand(CmdQuery,AccessClass.Con);
Cmd.Parameters.AddWithValue(Puser,boxuser.Text);
Cmd.Parameters.AddWithValue(Ppass,boxpassword.Text );
OleDbDataAdapter Da = new OleDbDataAdapter(Cmd);
DataTable Dt = new DataTable();
Dt.Clear();
Da.Fill(Dt);
if (Dt.Rows.Count > 0)
{
Response.Redirect(UrlOk);
}
else
{
Response.Redirect(UrlNo);
}

سلام
دوست عزیز
شما تو یه خطی نوشتین
dt.clear()
خوب معلومه else رو جواب میده

RIG000
سه شنبه 30 آبان 1391, 18:30 عصر
سلام.

string CmdQuery = "SELECT * FROM login_1 WHERE username= @Puser and password= @Ppass;// +"LIMIT 1";
OleDbCommand Cmd = new OleDbCommand(CmdQuery,AccessClass.Con);
Cmd.Parameters.AddWithValue(@Puser,boxuser.Text);
Cmd.Parameters.AddWithValue(@Ppass,boxpassword.Tex t );

command رو قبل از پر کردن دیتاتیبل اجرا کنید (executnonquery ).

Cmd.ExecuteNonQuery();
بعد این همه با ado کار کردن واقعا" نمیدونم از چیه حواسم نیس!!!!!!!!!!!!!!!!!!!!!
دمت گرم . خیلی ممنون.

RIG000
سه شنبه 30 آبان 1391, 18:32 عصر
سلام
دوست عزیز
شما تو یه خطی نوشتین
dt.clear()
خوب معلومه else رو جواب میده
پاک کردن dt ربطی نداره دوست عزیز . چون هنوز اطلاعات رو توش نریختم که پاکش کردم! خط بعد تازه اطلاعات توش میریزه. به هر حال ممنون.