ここから貴重なアドバイスをしました
しかし、件名のタイトルにあるように、前の質問に関連してbtnLoginメソッドでエラーが発生していますが、実際には同じ問題だと思いますか?これは、前の質問からエラーが発生していなかったためです。誰かがここで私を助けることができるならば、前もって感謝します。
アクセス2003VS2010 c#
これは私のbtnLoginメソッドです
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "INSERT INTO LoginLogTable (UserName, LoggedInDate, LoggedInTime) VALUES (@UserName, @LoggedInDate, @LoggedInTime)";
cmd.CommandText = "SELECT @ID = @@IDENTITY";
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();
これは私のbtnLogOutメソッドです。
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = " UPDATE [LoginLogTable] SET [LoggedOutDate] = ?, [LoggedOutTime] = ? WHERE ID = @ID";
cmd.Parameters.AddWithValue("@LoggedOutDate", DateTime.Now.ToShortDateString());
cmd.Parameters.AddWithValue("@LoggedOutTime", DateTime.Now.ToString("HH:mm"));
cmd.Connection = myCon;
myCon.Open();
cmd.ExecuteNonQuery();
コードの目的は、ユーザーがログインした日時とユーザーがログアウトした日時を記録することです。
アップデート2 私もこれを試しました...
cmd.CommandText = "INSERT INTO LoginLogTable (UserName, LoggedInDate, LoggedInTime) VALUES (@UserName, @LoggedInDate, @LoggedInTime)" + "SELECT @ID = @@IDENTITY";
次に、次のエラーが発生します...
SQLステートメントの最後にセミコロン(;)がありません。
アップデート3
cmd.CommandText = "INSERT INTO LoginLogTable (UserName, LoggedInDate, LoggedInTime) VALUES
(@UserName, @LoggedInDate, @LoggedInTime)"; "SELECT @ID = @@IDENTITY";
私は配置しました; そして私はエラーが発生しています...
ステートメントとして使用できるのは、代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみです。
私の他のメンバーに提供された他の解決策を見る
アップデート4
ここでのアドバイスのいくつかは、SQLServerでのみ機能する可能性があると思います。MSAccess2003を使用しています。
アップデート5
cmd.CommandText = "INSERT INTO LoginLogTable (UserName, LoggedInDate, LoggedInTime) VALUES
(@UserName, @LoggedInDate, @LoggedInTime); SELECT @ID = @@IDENTITY";
エラーを受信しています...
SQLステートメントの終了後に見つかった文字。