アクセス2003
VS 2010 C#
件名のタイトルにあるように、私はこれに問題があります。現在のIDに日付と時刻をスタンプする必要がある日付と時刻を印刷するための新しいフィールドを作成しています。また、UPDATEコマンドパラメータを試しましたが成功しませんでした。
ユーザー名、ログイン日、ログイン時刻を保存する別のメソッド(btnloggedIn)があります。これは正常に機能します。問題が発生している別のメソッド(btnLoggedOut)を作成しました。目的は、ログアウトしたユーザーがログアウトしたときのログアウト日とログアウト時刻を、ログイン時に自動IDが作成されるAccessの来た列に保存することです。
テーブル名-LoginTable
>>
FieldName Data Type
UserName Text
Password Text
テーブル名-LoginLogTable
FieldName Data Type
ID AutoNumber
UserName Text
LoggedInDate Date/Time
LoggedInTime Date/Time
LoggedOutDate Date/Time
LoggedOutTime Date/Time
IDはPKです。その1対多の関係。ログインするユーザーは、日付と時刻の詳細について多くの詳細を持つことができます
誰かがここで私を助けてくれるなら、私は感謝するでしょう。
private void btnLogOut_Click(object sender, EventArgs e)
{
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = " UPDATE [LoginLogTable] SET [LoggedOutDate] = ?, [LoggedOutTime] = ?
WHERE ID = ?";
cmd.Parameters.AddWithValue("@LoggedOutDate", DateTime.Now.ToShortDateString());
cmd.Parameters.AddWithValue("@LoggedOutTime", DateTime.Now.ToString("HH:mm"));
cmd.Connection = myCon;
myCon.Open();
cmd.ExecuteNonQuery();
Close();
}
これはbtnLoginメソッドの部分的なコードです...
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO LoginLogTable (UserName, LoggedInDate, LoggedInTime) VALUES (@UserName, @LoggedInDate, @LoggedInTime)";
cmd.Parameters.AddWithValue("@UserName", txtUserName.Text);
cmd.Parameters.AddWithValue("@LoggedInDate", DateTime.Now.ToShortDateString());
cmd.Parameters.AddWithValue("@LoggedInTime", DateTime.Now.ToString("HH:mm"));
cmd.Connection = myCon;
myCon.Open();
cmd.ExecuteNonQuery();
myCon.Close();