2017-07-23 89 views
0

enter image description here无法更新使用vb.NET

当我尝试更新我的DATABSE表的数据库表,我该怎么办?

为什么我会收到此错误?

+0

一些[类似的问题](https://www.google.com/search?q=site:stackoverflow.com+visual+basic+oledbexception+was+unhandled+datatype+mismatch) –

+0

千万不要串联字符串来使SQL 。这只是许多可能发生的事情之一。使用SQL参数。请阅读[问]并参加[旅游] – Plutonix

回答

0

是因为不匹配的数据类型插入到您的列 变化更新查询是这样

update Hasil_Rml_Hallo_Bro SET Nilai_Error=" & Label3.text & " WHERE ID=" & label4.text 

去掉“'”撇号信

1

始终使用参数

Dim query As String = "update Hasil_Rml_Hallo_Bro SET Nilai_Error= @Error WHERE [email protected]" 
Using connection As New OleDbConnection(connectionString) 
    Using command As New OleDbCommand(query, connection) 
     Dim errorParameter As New OleDbParameter With 
     { 
      .ParameterName = "@Error", 
      .OleDbType = OleDbType.VarChar, // Or what is correct type in database 
      .Value = Label3.text 
     } 
     Dim idParameter As New OleDbParameter With 
     { 
      .ParameterName = "@Id", 
      .OleDbType = OleDbType.Integer, // Or what is correct type in database 
      .Value = Integer.Parse(label4.text) // Convert to correct type if needed 
     } 
     command.Parameters.Add(errorParameter, idParameter) 

     connection.Open() 
     command.ExecuteNonQuery() 
    End Using 
End Using 

注意您需要为参数输入正确的类型 - 与您正在使用的列类型相同。

0

确保数据库中的列具有相同的数据类型,并将其插入到其中。