更新查询不起作用但没有错误

时间:2018-03-04 12:17:14

标签: sql vb.net ms-access

(我编写VB.NET并使用ms access 2016作为数据库)

我执行此查询但没有任何反应。我想知道什么是错的。我运行时没有错误。我调试了它,变量中的所有值也是正确的。

我的数据库中也没有发生任何变化

System.Double

1 个答案:

答案 0 :(得分:3)

问题是MS Access没有命名的参数 - 而是位置参数。

因此必须指定 正确顺序中的参数,这些参数会出现在SQL语句中。你现在正在做

将您的代码更改为:

If Not (TextBoxID.Text = "" Or TextBoxNama.Text = "") Then
    Try
        Dim sqlquery As String = "UPDATE tblEmployees SET Nama = @nama WHERE IDEmployee = @ide"  
        Dim sqlcommand As New OleDbCommand

        With sqlcommand
            .CommandText = sqlquery
            .Parameters.AddWithValue("@nama", TextBoxNama.Text) 
            .Parameters.AddWithValue("@ide", TextBoxID.Text)

            .Connection = FormMain.conn
            .ExecuteNonQuery()

在设置@nama的值之前,您必须为@ide 第一次设置值,因为这是订单其中这些参数出现在MS Access SQL语句中。