我在我的登錄頁面中編寫了此代碼。我的代碼沒有任何錯誤,但更新查詢不適用於我的數據庫。
拳頭查詢工作,我重定向到index.aspx
但更新查詢(第二個查詢)不適用!我的更新查詢不適用於數據庫
protected void btnLogin_Click(object sender, EventArgs e)
{
Database db1 = new Database();
string query = "select * from Admins where [email protected] 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 [email protected], [email protected] where [email protected]";
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();
Response.Redirect("~/admin/Index.aspx", false);
}
else
{
lblError.Visible = true;
}
}
你爲什麼要這麼做smd.ExecuteNonQuery( )兩次? – Melanie 2013-05-03 21:20:47
您從'sdr [0]'獲取會話的用戶名,但是從sdr [1]'獲取的SQL參數。它是否在讀者的兩個元素? – davmos 2013-05-03 21:25:09
@Melanie:'int id = smd.ExecuteNonQuery()'用於跟蹤。我刪除它。 – 2013-05-03 21:25:15