2016-08-22 68 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