Синтаксическая ошибка (отсутствует оператор) в выражении запроса '@ID = @@ IDENTITY'

Я дал ценный совет отВот

Но, как говорит заголовок темы, я получаю ошибку в методе btnLogin, связанную с моим предыдущим вопросом, но на самом деле я думаю, что та же проблема? Я говорю это, потому что я не получаю ошибку от моего предыдущего вопроса. Спасибо заранее, если кто-нибудь может помочь мне здесь.

доступ 2003 VS 2010 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

Я думаю, что некоторые из советов здесь могут работать только для SQL Server. Я использую MS Access 2003.

Обновление 5

cmd.CommandText = "INSERT INTO LoginLogTable (UserName, LoggedInDate, LoggedInTime) VALUES 
(@UserName, @LoggedInDate, @LoggedInTime);  SELECT @ID = @@IDENTITY";

ошибка получения ...

Символы, найденные после завершения оператора SQL.

Ответы на вопрос(3)

Ваш ответ на вопрос