2017-05-25 62 views
0

特定的列我有4个表:Code_Product, Name_Product, Color_Product, Size_Product如何更新vb.net 2013的SQL Server 2008

和代码:

Public Sub ExecuteQuery(query As String) 
     Dim command As New SqlCommand(query, connection) 
     command.ExecuteNonQuery() 
End Sub 

Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 

Dim updateQuery As String = "UPDATE tbl_Product SET Name_Product = '" & txtNameProduct.Text & "' , Color_Product = '" & txtColorProduct.Text & "', Size_Product = '" & txtSizeProduct.Text & "' where Kode_Produk= '" & txtKodeProduk.Text & "'" 

ExecuteQuery(updateQuery) 

MessageBox.Show("Data has been changed") 

注:代码工作。

但是,代码更改所有列,我只想更改只有一列。怎么样?

+0

因为你是专门告诉更新这些其他领域。排除不需要更新的列。你也没有提及你只想改变的列。在另一个注意事项中使用参数并在使用语句中包装连接和命令,您需要处理它们... – Codexer

+1

也修改您的代码,以便您使用SQL参数 –

+0

修改SQL参数,如? –

回答

-1

替换该行

Dim updateQuery As String = "UPDATE tbl_Product SET Name_Product = '" & txtNameProduct.Text & "' , Color_Product = '" & txtColorProduct.Text & "', Size_Product = '" & txtSizeProduct.Text & "' where Kode_Produk= '" & txtKodeProduk.Text & "'" 

与此有关。只传递你想要更新的那一列。

Dim updateQuery As String = "UPDATE tbl_Product SET Name_Product = '" & txtNameProduct.Text & "' where Kode_Produk= '" & txtKodeProduk.Text & "'" 
+0

我曾尝试过。但是,它只会更改列Name_Product。 我的意思是,一列,但代码可以涵盖任何一列中的所有可能性更改。不仅列Name_Product。 –

+0

调试你的代码并告诉我updateQuery的值(最终查询) –

+0

的值? 引用您的代码,它将更改Name_Product,并带有新值,并清除另一列。 它应该更改Name_Product或另一列,但不会更新的列仍保留旧数据。 –