2012-05-24 137 views
0

我有这个疑问的作品不错插入aaccess DB数据,但我现在试图插入一个sqllite3分贝,但其使用相同的查询插入查询

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 

回答

1

麻烦IM该查询不是有效的SQL。它应该是这样的:

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

的图,详细的关键词在SQL INSERT语句的顺序查看SQLite Insert Query Manual。 SQL会在其他基于SQL的系统上出错,而​​不仅仅是SQLite。只是觉得我会连接到该手册页,因为它非常有用。