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

追加アクセスでは、フィールド名を INSERT INTO ステートメントで指定する必要があります (単一のレコードを挿入するために使用する場合)。MSDN リファレンス

上記のように、INSERT INTO ステートメントを使用して、単一レコード追加クエリ構文を使用してテーブルに単一レコードを追加できます。この場合、コードはレコードの各フィールドの名前と値を指定します。値が割り当てられるレコードの各フィールドと、そのフィールドの値を指定する必要があります。各フィールドを指定しない場合、欠落している列にはデフォルト値または Null が挿入されます。テーブルの最後にレコードが追加されます。

于 2013-09-08T19:03:33.793 に答える