PDA

View Full Version : سوال: اجرانشدن دستور آپدیت روی دیتابیس



mbasirati
شنبه 14 اردیبهشت 1392, 00:31 صبح
سلام
من این قطعه کد رو دارم. این قطعه کد برای فرم لاگین سایت نوشته شده. اول میاد یوزرنیم و پسورد رو چک میکنه و اگه صحیح بود وارد صفحه مدیر میشه. منتها قبلش باید تاریخ آخرین ورود هم تصحیح بشه.
مشکل اینجاس که کوئری دوم که کار آپدیت آخرین ورود رو انجام میده روی دیتابیس اجرا نمیشه. کد هیچ اروری نمیگیره ولی عمل آپدیت هم انجام نمیشه.


protected void btnLogin_Click(object sender, EventArgs e)
{

Database db1 = new Database();
string query = "select * from Admins where UserName=@username and cast(Password as varbinary)=cast(@password as varbinary)";
SqlCommand smd = new SqlCommand(query, db1.sc);
smd.Parameters.AddWithValue("@username", txtUsername.Text);
smd.Parameters.AddWithValue("@password", General.CreatePasswordHash(txtPassword.Text));
SqlDataReader sdr = smd.ExecuteReader();
smd.Parameters.Clear();
if (sdr.Read())
{
Session.Add("username", sdr[0].ToString());





//قطعه کد برای ثبت آخرین ورود
string nowEnter = sdr[5].ToString();
query = "update Admins set LastEnter=@lastEnter, NowEnter=@nowEnter where UserName=@username";
string now = General.getPersianDateNow() + " ساعت " + General.getPersianTimeNow();
smd.CommandText = query;
smd.Parameters.AddWithValue("@lastEnter", nowEnter);
smd.Parameters.AddWithValue("@nowEnter", now);
smd.Parameters.AddWithValue("@username", sdr[1].ToString());
sdr.Close();
smd.ExecuteNonQuery();


if (chkRemember.Checked)
{
HttpCookie mycookie = new HttpCookie("arvin");
mycookie.Values.Add("username", sdr[1].ToString());
mycookie.Values.Add("password", General.CreatePasswordHash(txtPassword.Text));
mycookie.Expires = DateTime.Now.AddMonths(2);
Response.Cookies.Add(mycookie);
}

Response.Redirect("~/admin/Index.aspx", false);
}
else
{
lblError.Visible = true;
}

}


مشکل از کجاس؟

fakhravari
شنبه 14 اردیبهشت 1392, 00:53 صبح
int id = smd.ExecuteNonQuery();
id چک کن اگر 0 میده احتمالا فونت فارسی خرابه

mbasirati
شنبه 14 اردیبهشت 1392, 01:01 صبح
int id = smd.ExecuteNonQuery();
id چک کن اگر 0 میده احتمالا فونت فارسی خرابه

0 داد
ولی فارسی مشکلی نداره. قبلا اطلاعات فارسی توی دیتابیس ریختم و مشکلی هم نداشتم.