标准表达式中的数据类型不匹配ERROR即将发生

时间:2013-09-08 18:59:22

标签: ms-access-2007 vb.net-2010

这是我添加数据的代码。但是由于错误的到来,没有数据可以新插入数据库  并说数据类型在标准表达式中不匹配。为什么这是?????????

Imports System.Data.OleDb
Public Class Form1

Dim con As OleDbConnection
Dim myAdapter As OleDbDataAdapter
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    con = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\DELL\Documents\Visual Studio 2012\Projects\WindowsApplication9\WindowsApplication9\NIBM.accdb")
    con.Open()
    myAdapter = New OleDbDataAdapter("INSERT INTO Driverdetails values(@DriverNo,@DriverName,@DriverAge,@DriverAddress)", con)

    myAdapter.SelectCommand.Parameters.AddWithValue("@Driver No", TextBox1.Text)
    myAdapter.SelectCommand.Parameters.AddWithValue("@Driver Name", TextBox2.Text)
    myAdapter.SelectCommand.Parameters.AddWithValue("@Driver Age", TextBox3.Text)
    myAdapter.SelectCommand.Parameters.AddWithValue("@Driver Address", TextBox4.Text)



    myAdapter.SelectCommand.ExecuteNonQuery()
    con.Close()

End Sub

1 个答案:

答案 0 :(得分:1)

很可能是因为您在参数名称中引入了空格:@Driver No

已添加 Access要求使用INSERT INTO语句指定字段名称(用于插入单个记录时)。 MSDN reference

  

您可以使用INSERT INTO语句将单个记录添加到a   表使用单记录追加查询语法,如上所示。在   在这种情况下,您的代码指定了每个字段的名称和值   记录。您必须指定记录的每个字段a   value将被分配给该字段的值。当你不这样做   指定每个字段,插入默认值或Null以便丢失   列。记录将添加到表格的末尾。