1

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

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
4

1 回答 1

1

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

添加的 Access 需要使用 INSERT INTO 语句指定字段名称(当用于插入单个记录时)。MSDN 参考

您可以使用 INSERT INTO 语句使用单记录追加查询语法将单条记录添加到表中,如上所示。在这种情况下,您的代码为记录的每个字段指定名称和值。您必须指定要为其分配值的记录的每个字段以及该字段的值。当您不指定每个字段时,将为缺少的列插入默认值或 Null。记录被添加到表的末尾。

于 2013-09-08T19:03:33.793 回答