'?'附近的语法不正确。我做错了什么?
我认为我的vs2012不支持oledb连接字符串和sql编码如果我用sqlcommand编写上面的代码它的所有工作很奇怪的错误发生哪个指出插入到声明或?与OleDB
我尝试更改我的数据库名称我的服务器名称但没有任何事情发生只指出连接关闭声明? -
Imports System.Data.SqlClient
Public Class insert
Private Sub btn_Click(sender As Object, e As RoutedEventArgs) Handles btn.Click
Dim strConn As String = "Server=localdb\Projects;Database=test;Uid=sa;Pwd=12345;"
'Dim conn As OleDbConnection
Try
Dim sname As String = txt1.Text
Dim sfname As String = txt2.Text
Dim scnic As String = txt3.Text
Dim slimit As String = txt4.Text
Dim semail As String = txt5.Text
Dim stel As String = txt6.Text
Dim stel1 As String = txt7.Text
Dim qu As String = txt8.Text
'Dim que As Date = Date.Parse(txt9.Text)
Dim que As String = txt9.Text
Dim query As String = String.Empty
query &= "INSERT INTO tencmp (qnumber, topic, Umcq , Usq , Ulq , Emcq , Esq , Elq, pdate)"
query &= "VALUES (?,?,?,?,?,?,?,?,?)"
这里有些不对劲
Using conn As New sqlConnection(strConn)
Using comm As New sqlCommand()
With comm
.Connection = conn
'.CommandType = CommandType.Text
.CommandText = query
.Parameters.AddWithValue("@qnumber", sname)
.Parameters.AddWithValue("@topic", sfname)
.Parameters.AddWithValue("@colPhone", scnic)
.Parameters.AddWithValue("@colBranch", slimit)
.Parameters.AddWithValue("@colCourse", semail)
.Parameters.AddWithValue("@coldblFee", stel)
.Parameters.AddWithValue("@dobv", stel1)
.Parameters.AddWithValue("@coldblFee1", qu)
.Parameters.AddWithValue("@dobv1", que)
conn.Open()'error occur here on this id
comm.ExecuteNonQuery()
End With
End Using
End Using
Catch ex As SqlException
txt10.Text = ex.Message
End Try
End Sub
End Class
答案 0 :(得分:1)
您的代码适用于Sql Client中定义的SQL类(针对LOCALDB Sql Server数据库)。此库使用@
前缀,在查询文本上使用参数占位符的名称。
query &= "INSERT INTO tencmp (qnumber, topic, Umcq , Usq , Ulq , Emcq , Esq , Elq, pdate)"
query &= "VALUES (@qnumber, @topic, @colPhone, "
query &= "@colBranch, @colCourse, @coldblFee, "
query &= "@dobv, @coldblFee1, @dobv1)"
但是,鉴于列的名称非常不合理,我不确定这些参数列表是否与您的名称完全匹配。