0

aaccess dbにデータを挿入するのに適したこのクエリがありますが、今はsqllite3 dbに挿入しようとしていますが、同じクエリを使用するのに問題があります

Imports System.Data.Odbc

Public Class Form1
Public con As New OdbcConnection("Dsn=SQLite3 Datasource;database=C:\Users\pcampos\Desktop\spiceworks_prod.db;stepapi=0;syncpragma=NORMAL;notxn=0;timeout=100000;shortnames=0;longnames=0;nocreat=0;nowchar=0;fksupport=0;oemcp=0;bigint=0")

 Dim query As String = "INSERT INTO INSERT INTO tickets(id, summary, status)  VALUES(@id,@summary,@status )"


            con.Close()
            con.Open()
            Using cmd As New OdbcCommand(query, con)

                cmd.Parameters.AddWithValue("@id", OdbcType.VarChar).Value = test
                cmd.Parameters.AddWithValue("@sumamry", OdbcType.VarChar).Value = "ola ola ola"
                cmd.Parameters.AddWithValue("@staus", OdbcType.VarChar).Value = "close"


                Dim x As Integer = cmd.ExecuteNonQuery()
                MsgBox(x)


                If x < 1 Then
                    MessageBox.Show("Erro ao inserir", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
                Else
                    MessageBox.Show("Registo1 inserido com sucesso!", My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Information)

                End If
            End Using

End Class
4

1 に答える 1

1

そのクエリは有効な SQL ではありません。次のようになります。

 Dim query As String = "INSERT INTO tickets (id, summary, status) VALUES( @id, @summary, @status )"

SQL Insert ステートメント内のキーワードの順序を示す図については、 SQLite Insert Query Manualを参照してください。SQL は、SQLite だけでなく、他の SQL ベースのシステムでもエラーになります。非常に便利なので、そのマニュアルページにリンクすると思いました。

于 2012-05-27T23:35:15.943 に答える