Параметризованный SQL Команда не обновляет мой столбец - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть простая кнопка, которая завершает рабочий день в моей системе управления. К сожалению, когда нажата все в порядке, но столбец в моей таблице все еще пуст.

Вот код:

Dim sql As String = "UPDATE [TA-Arbeitszeit] SET Ende = @ende WHERE Personal_nr = @Personal_nr"
    Using conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\recycle2000.mdb;"),
             cmd As New OleDbCommand(sql, conn)
        conn.Open()
        cmd.Parameters.Add("@Personal_nr", OleDbType.VarChar).Value = tbxUserInput.Text.Trim()
        cmd.Parameters.Add("@ende", OleDbType.VarChar).Value = DateTime.Now.ToString("G")
        Dim icount As Integer = cmd.ExecuteNonQuery

    End Using

1 Ответ

1 голос
/ 28 апреля 2020

Access не полностью поддерживает именованные параметры. Хотя вы можете и должны использовать имена параметров для собственной ясности, Access их игнорирует. Он просто вставляет значения ваших параметров в код SQL в порядке их добавления. Это означает, что они должны быть добавлены в том же порядке, в котором они указаны в коде SQL. Ваш SQL код имеет @ende до @Personal_nr, но когда вы добавляете параметры, вы делаете это наоборот. Переключите порядок, в котором вы добавляете параметры, и, надеюсь, все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...