2016-08-22 65 views
2

我有以下SQL查詢其在SQL服務器管理工​​作:如何使用sql命令更新vb.net中的sql表?

Update SQLTableBlokke 
set blokgemiddeld = ((tha_min4 + tha_min3 + tha_min2 + 
     tha_min1 + tha_huidig)/
    NULLIF(((ABS(sign(tha_min4))+ABS(sign(tha_min3))+ABS(sign(tha_min2))+ 
     ABS(sign(tha_min1))+ABS(sign(tha_huidig))) * 1.00),0)) 

作爲一個初學者我有使用此命令爲vb.net命令的麻煩。我曾嘗試以下:

 Dim konneksie As New SqlConnection 
     Dim opdraggem As New SqlCommand 

     konneksie.ConnectionString = "Data Source=GIDEON-E- LAPTOP\SQLEXPRESS2014;Initial Catalog=BlokwinsgewendheidDatabasis;Integrated  Security=True" 
     konneksie.Open() 
     opdraggem.Connection = konneksie 

    opdraggem.CommandText = "Update(SQLTableBlokke)" & _ 
    "blokgemiddeld = @((tha_min4 + tha_min3 + tha_min2 + tha_min1 + tha_huidig)/" & _ 
    " NULLIF(((ABS(sign(tha_min4)) + ABS(sign(tha_min3)) + ABS(sign(tha_min2)) + ABS(sign(tha_min1)) + ABS(sign(tha_huidig))) * 1.0), 0)) " 


    opdraggem.ExecuteNonQuery() 

但是我得到的錯誤信息:附加信息:。附近有語法錯誤('光標停在opdraggem.ExecuteNonQuery()行

我想我有使用的參數,但不知道如何實現它們。

到新手任何幫助將非常感激。

+1

你在你的vb代碼中缺少關鍵字「set」opdraggem.CommandText = – Neal

+1

我不認爲你複製了命令,因爲SET和一些空格缺失......爲了避免錯誤,只需將其粘貼到一行即可。 –

回答

0

我看不出有任何需要你,你是不是使用的參數在這種情況下,用表中尚未存在的任何數據進行更新CommandText中應該僅僅是:

opdraggem.CommandText = "Update SQLTableBlokke" & _ 
"set blokgemiddeld = ((tha_min4 + tha_min3 + tha_min2 + " & _ 
    "tha_min1 + tha_huidig)/" & _ 
"NULLIF(((ABS(sign(tha_min4))+ABS(sign(tha_min3))+ABS(sign(tha_min2))+ " & _ 
    "ABS(sign(tha_min1))+ABS(sign(tha_huidig))) * 1.00),0))" 

你的代碼也將在連接上using語句受益,因爲這將確保始終被關閉了連接。在這裏演示: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery(v=vs.110).aspx

0

謝謝大家。是的,我錯過了關鍵詞「Set」。 Regards