**附近的语法不正确?**

时间:2015-05-30 09:59:44

标签: wpf vb.net

'?'附近的语法不正确。我做错了什么?  我认为我的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

1 个答案:

答案 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)"

但是,鉴于列的名称非常不合理,我不确定这些参数列表是否与您的名称完全匹配。