ユーザーがログインできる Web サイトがあります。クライアントは、特定のユーザーがログインした回数を記録する方法を望んでいます。テーブルに「カウンター」行があります。ユーザーがログインしたときにカウンターを更新するようにアプリ (C# ASP.NET に組み込まれている) をプログラムするにはどうすればよいですか? このコードは正しいですか:
cmd.ExecuteNonQuery = "ブローカーセンターからカウンターを更新"
私は最近 (今月の 10 日のように) 卒業したばかりなので、これは初めてで、データベースについては何も知りません。仕事で学んでいるだけです。他のパラメーターや接続文字列などが必要な場合はお知らせください。これはボタンクリックイベントにあり、ユーザー名とパスワードを確認するための接続文字列が既に存在するため、別の接続文字列は必要ないと思いますが、よくわかりません。前もって感謝します!
さらに言えば、これがイベント全体です(ログインは正常に機能しますが、更新だけが私の質問です):
string connectionString =
ConfigurationManager.ConnectionStrings["moverschoiceConnectionString"].ConnectionString;
OdbcConnection conn = new OdbcConnection(connectionString);
conn.Open(); OdbcCommand cmd = new OdbcCommand();
cmd.Connection = conn;
cmd.CommandText = "select Email, Password from brokercenter where Email = '" + txtLoginEmail.Text + "'";
OdbcDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
if (reader["Password"].ToString() == txtLoginPassword.Text)
{
reader.Close();
if (cbRememberMe.Checked == true)
{
Response.Cookies["username"].Value = txtLoginEmail.Text;
Response.Cookies["username"].Expires = DateTime.Now.AddMonths(1);
Response.Cookies["password"].Value = txtLoginPassword.Text;
Response.Cookies["password"].Expires = DateTime.Now.AddMonths(1);
}
else
{
Response.Cookies["username"].Expires = DateTime.Now.AddMonths(-1);
Response.Cookies["password"].Expires = DateTime.Now.AddMonths(-1);
}
Response.Redirect("BrokerResources.aspx");
}
else
{
lblLoginError.Text = "Invalid Password";
}
}
lblLoginError.Text = "Invalid Email or Password";
reader.Close();
cmd.ExecuteNonQuery = "UPDATE counter FROM brokercenter";
}