C # для обновления MySqlDB - PullRequest
0 голосов
/ 01 ноября 2018

В настоящее время я работаю над небольшим примером для друга, чтобы записывать рабочее время работодателей. Поэтому я хочу обновить запись базы данных MySQL.

Соединение с БД уже выполнено и работает в тесте, однако мне не удается (и да, я много гуглил) фактически получить значения, изменяющиеся в БД. Это моя нынешняя попытка указать текущее время начала работы работодателей:

void main(string[] args)
{
    // Die Verbindung zur DB entnehmen.
    MySqlConnection conn = DBUtils.GetDBConnection();
    conn.Open();
    try
    {
        // Der Befehl UPDATE.
        string sql = "UPDATE user SET lastlogin = lastlogin WHERE user username = srademacher";

        MySqlCommand cmd = new MySqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = sql;

        MySqlParameter lastlogin = new MySqlParameter("@lastlogin", SqlDbType.DateTime);
        lastlogin.Value = DateTime.Now;
        cmd.Parameters.Add(lastlogin);

        // Command durchführen
        int rowCount = cmd.ExecuteNonQuery();

    }
    catch (Exception ex)
    {
        Console.WriteLine("Error: " + e);
    }
    finally
    {
        conn.Close();
        conn.Dispose();
        conn = null;
    }

    Console.Read();
    MessageBox.Show("Die Arbeit wurde um " + DateTime.Now + " aufgenommen");
}

Полагаю, вы могли бы назвать меня нубом при написании сценариев, но я был бы рад получить совет, чтобы стать лучше :-) спасибо за ваши идеи.

Edit: у меня нет проблем с запуском приложения, которому соответствует код, только значение DateTime в БД не изменяется

1 Ответ

0 голосов
/ 01 ноября 2018

Ваш оператор обновления имеет неверный синтаксис, WHERE user username = srademacher. Затем вы добавляете MySqlParameter, но не используете это в sql.

Изменить sql на

string sql = "UPDATE user SET lastlogin = @lastlogin WHERE username = @username";

и добавьте

 MySqlParameter username = new MySqlParameter("@username", SqlDbType.NVarChar);
 username.Value = "srademacher";
 cmd.Parameters.Add(username);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...