2017-05-25 80 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或另一列,但不會更新的列仍保留舊數據。 –