로그인 페이지에이 코드를 작성했습니다. 내 코드는 오류가 없지만 데이터베이스에 업데이트 쿼리가 적용되지 않습니다.
주먹 쿼리가 작동하고 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;
}
}
을 사용하여 SELECT 문을 작성하는 것입니다) 두 번? – Melanie
당신은'sdr [0]'에서 세션에 대한 사용자 이름을 얻었지만'sdr [1]'에서 가져온 SQL 매개 변수에 대해서는. 그것은 독자의 두 요소 모두에 있습니까? – davmos
@Melanie :'int id = smd.ExecuteNonQuery()'는 트레이스를위한 것입니다. 나는 그것을 삭제한다. –