1

私はこの問題を1週間抱えており、既存のすべてのフォーラムで回答を探しているのかもしれませんが、今回は自分の問題を投稿しています。

私の問題は、データベースにデータを保存することでした。それにバインドされたデータグリッドがありますが、何も表示されません。.mdb アクセス データベースを使用しています。mdb テーブル名は tblinformation でした。

テキストボックスからデータを保存しようとするたびにメッセージボックスが表示されるため、私の問題は INSERT INTO ステートメントにあったようです。そして最後に、私は vb.net が初めてです >..<

ところで、ここに私のコードがあります:


Imports System.Data.OleDb

Public Class frmbookinfo
Dim cnn As New OleDb.OleDbConnection

Private Sub cmdsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsave.Click
    Try
        cnn = New OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;Data Source=D:\AmosBooks_System\AmosBooks_System\database.mdb")
        Dim command As String
        command = "INSERT INTO tblinformation(title, author, isbn, category, edition, pages, language, yearofpublication, bcode, price) VALUES (@title, @author, @isbn, @category, @edition, @pages, @language, @yearofpublication, @bcode, @price)"
        cnn.Open()
        Dim cmd As OleDbCommand
        cmd = New OleDbCommand(command, cnn)
        cmd.Parameters.AddWithValue("@title", txttitle.Text)
        cmd.Parameters.AddWithValue("@author", txtauthor.Text)
        cmd.Parameters.AddWithValue("@isbn", txtisbn.Text)
        cmd.Parameters.AddWithValue("@category", txtcategory.Text)
        cmd.Parameters.AddWithValue("@edition", txtedition.Text)
        cmd.Parameters.AddWithValue("@pages", txtpages.Text)
        cmd.Parameters.AddWithValue("@language", cmblanguage.Text)
        cmd.Parameters.AddWithValue("@yearofpublication", dtyearpub.Text)
        cmd.Parameters.AddWithValue("@bcode", txtbcode.Text)
        cmd.Parameters.AddWithValue("@price", txtprice.Text)


        cmd.ExecuteNonQuery()
    Catch exceptionObject As Exception
        MessageBox.Show(exceptionObject.Message)
    Finally
        cnn.Close()
    End Try
End Sub
4

1 に答える 1

3

構文エラーは、フィールド名の LANGUAGE という単語が原因で発生します。
この単語は JET-SQL で予約されているため、角かっこで囲む必要があります。

command = "INSERT INTO tblinformation(title, author, isbn, category, edition, pages, " + 
          "[Language], yearofpublication, bcode, price) VALUES " + 
          "(@title, @author, @isbn, @category, @edition, @pages, " + 
          "@language, @yearofpublication, @bcode, @price)"
于 2013-04-12T07:06:58.373 に答える