当前位置: 首页 > 知识库问答 >
问题:

插入vb.net和access 2007中的语法错误

隗嘉歆
2023-03-14

真的需要这方面的帮助... *插入语句时的语法错误*

私有子按钮2_Click(发件人作为对象,e作为事件参数)处理按钮2.单击

    Try
        connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =|DataDirectory|\StJudeData2.accdb;persist security info = false"
        conn.ConnectionString = connstring


        Dim SqlQuery As String = "INSERT INTO StJudeData2(FirstName,MiddleInitial,LastName,Block#,Lot#,Telephone,HomeSticker#,Phase#) VALUES (@FirstName,@LastName,@Block#,@Lot#,@Telephone,@HomeSticker#,@Phase#)"
        Dim SqlCommand As New OleDbCommand(SqlQuery, conn)


        With SqlCommand
            .CommandText = SqlQuery
            .Connection = conn
            conn.Open()
            SqlCommand.Parameters.AddWithValue("@FirstName", TextBox1.Text)
            SqlCommand.Parameters.AddWithValue("@LastName", TextBox2.Text)
            SqlCommand.Parameters.AddWithValue("@MiddleIntial", TextBox3.Text)
            SqlCommand.Parameters.AddWithValue("@Block#", TextBox4.Text)
            SqlCommand.Parameters.AddWithValue("@Lot#", TextBox5.Text)
            SqlCommand.Parameters.AddWithValue("@Telephone", TextBox6.Text)
            SqlCommand.Parameters.AddWithValue("@HomeSticker#", TextBox7.Text)
            SqlCommand.Parameters.AddWithValue("@Phase#", TextBox8.Text)

            SqlCommand.ExecuteNonQuery()

        End With

        MsgBox("Records had been save!")
    Catch ex As Exception
        MsgBox(ex.ToString)
        conn.Close()


    End Try

共有1个答案

温凯
2023-03-14

当您在列名称中使用类似 # 的字符时,您应该记住将这些名称放在方括号中,因为它们会混淆访问

 Dim SqlQuery As String = "INSERT INTO StJudeData2 " & _
  "(FirstName,MiddleInitial,LastName,[Block#],[Lot#],Telephone,[HomeSticker#],[Phase#]) " & _
  "VALUES (@FirstName,@LastName,@Block,@Lot,@Telephone,@HomeSticker,@Phase)"

顺便说一句,你真的需要它们吗?。每次为此表编写查询时都会遇到这个问题,所以,如果还不算太晚,请更改这些列名。

如下所述,您的查询中还有另一个错误,MiddleInitial字段没有为其设置参数,您需要在@FirstName之后为MiddleInitial字段添加另一个参数(该位置对于无法通过名称识别参数的OleDb非常重要)

 类似资料:
  • 请查看与您的MySQL server版本相对应的手册,以便在

  • 这是我的疑问- 我在执行时遇到这个错误 错误:您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获得使用“alter TABLE tmp drop category_id”附近的正确语法;在第2行插入类别SELECT 0'错误号:1064 但是当我直接在数据库中运行查询时,我不会得到任何错误。请帮帮我!

  • 主要内容:VB.Net中的Rectangle类,标识符,VB.Net关键字VB.Net是一种面向对象的编程语言。在面向对象编程方法中,一个程序由各种通过动作相互作用的对象组成。 对象可能采取的操作称为方法。相同类型的对象被认为具有相同的类型,或者更经常地说成是在同一类中。 考虑一个VB.Net程序结构时,它可以被定义为通过调用彼此的方法进行通信的对象的集合。现在来简单地看看下面的解释:类,对象,方法和实例变量分别是什么意思? 对象 - 对象具有状态和行为。 例如:狗有状

  • 您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以了解第1行“.255.255、55555、12)”附近使用的正确语法。 为什么这不起作用?

  • 我在PHP的MYSQL查询中发现了一个非描述性语法错误。如果我“回显”查询的文本并将其粘贴到一个MySQL查询窗口中,则代码可以工作。下面是查询的SQL、错误代码和错误消息... 错误代码:1064 错误消息:您的SQL语法中有错误;查看与您的MySQL server版本相对应的手册,了解第1行“”附近使用的正确语法 这里是我正在使用的PHP代码... 我知道数据库连接正在工作。我能够选择和更新表

  • 主要内容:声明语句,可执行语句语句是Visual Basic程序中的完整指令。它可能包含关键字,运算符,变量,文字值,常量和表达式。 语句可以分类为如下: 声明语句 - 这些是声明变量,常量或过程的语句,也可以指定数据类型。 可执行语句 - 这些是启动操作的语句。这些语句可以调用方法或函数,通过代码块循环或分支,或将值或表达式赋值给变量或常量。在最后一种情况下,它被称为赋值语句。 声明语句 声明语句用于命名和定义过程,变量,属