我有以下代码,我试图触发多个SQL语句。
我是SQL新手,有人能用正确的语法帮助我吗?
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim con As SqlConnection = New SqlConnection("server=barry-laptop\SQLEXPRESS; database=Test; integrated security=yes")
Dim cmd As SqlCommand = New SqlCommand("CREATE TABLE " + TextBox2.Text + " " + "(myId INTEGER PRIMARY KEY," + "myName CHAR(50), myAddress CHAR(255), myBalance FLOAT)", con)
Dim cmd2 As SqlCommand = New SqlCommand("Update Tarrifs Set Name='" & TextBox2.Text & "', con")
con.Open()
cmd.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
con.Close()
End Sub
任何帮助表示感谢。
谢谢,
答案 0 :(得分:0)
VB.NET中的字符串连接运算符是&符号(&) 您也可以使用+符号但不推荐使用它,因为当操作数是模糊的时候它可能会导致副作用。
说,你可以只使用一个SqlCommand将两个命令文本一起传递,用分号分隔。
另请注意,您应该尽可能使用参数化查询,
唉,第一个查询无法参数化,因为您无法使用参数来表达表名。因此,请务必在使用之前检查此TextBox2的内容。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Using con = New SqlConnection(........)
Using cmd = New SqlCommand("CREATE TABLE " & TextBox2.Text & _
" (myId INTEGER PRIMARY KEY, myName CHAR(50), myAddress CHAR(255), " & _
" myBalance FLOAT);Update Tarrifs Set Name=@name", con)
con.Open()
cmd.Parameters.AddWithValue("@name", TextBox2.Text)
cmd.ExecuteNonQuery()
End Using
End Using
End Sub
另一个好的做法是在处理像SqlConnection和SqlCommand这样的Disposable对象时应用Using statement。这将确保正确关闭连接以及处理连接和命令