BK201
BK201

Reputation: 19

Parameterized SQL Command does not update my column

I have a simple button which end the Work day in my Management System. Sadly when pressed all fine but the Column in my Table is still empty.

Here is the code:

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

Upvotes: 0

Views: 30

Answers (1)

jmcilhinney
jmcilhinney

Reputation: 54417

Access doesn't fully support named parameters. Although you can and should use parameter names for your own clarity, Access ignores them. It simply inserts your parameter values into the SQL code in the order they are added. That means that they need to be added in the same order as they appear in the SQL code. Your SQL code has @ende before @Personal_nr but when you add parameters you do it the other way around. Switch the order in which you add the parameters and you should hopefully be fine.

Upvotes: 1

Related Questions