`Dim con1 As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim sql1 As String
sql1 = "Update Balance set Balance_Amt = (Balance_Amt + " & a & ") where Company = " & Combo3.Text
con1.Execute (sql1)“有人能说出为什么这段代码不工作吗?它显示一个或多个必需参数没有值。”
发布于 2012-07-22 18:54:50
我猜最直接的问题是SQL片段
where Company = value是无效的SQL。应该引用一下:
where Company = 'value'但是你真的应该使用SQL参数。
注入攻击。
例如:
Using cmd = new SqlCommand("UPDATE Balance SET Balance_Amt = (Balance_Amt + @a) WHERE Company=@company", con1)
cmd.Parameters.AddWithValue("@a", a)
cmd.Parameters.AddWithValue("@company", company)
cmd.ExecuteNonQuery()
End Using发布于 2012-07-22 18:54:03
打印出sql语句并查看是否正常,然后将其复制/粘贴到sql management studio。我认为您在字符串Combo3.Text周围缺少撇号。
还要考虑如果Combo3.Text包含
'a'; delete from Balancehttps://stackoverflow.com/questions/11599583
复制相似问题