2013-10-17 56 views
0

我DBStructure如下:通过vb.net OLEDB插入日期时间,查询提供了错误

enter image description here

我想它插入一条记录,所以我烧以下查询:

insert into LocalBarcode (PescaLocation,Barcode,TimeStamp,IsUpload)values('1','11','10/17/2013 

6:08:57 PM') 

但它给我的语法错误:如

插入到的语法错误。

对于IsUpload,我已将默认值保留为'N',因此我不会从这里发送它。

LBID是自动增量。

请帮忙。

VB.NET查询:

Dim sqlInsertBarcode = "insert into LocalBarcode 

(PescaLocation,Barcode,TimeStamp,IsUpload)values('" & pescaLocation & "','" & 

txtBarcode.Text.Trim.Replace("'", "''") & "','" & Now() & "') " 
+1

在.net代码中,使用查询参数和适当的数据类型。 '10/17/2013'是一个字符串,不是日期。 –

回答

2

您也可以尝试更多的东西是这样的:

Try 
     dbConnection.Open() 
     Dim cmd As New OleDbCommand 
     cmd.CommandText = "INSERT INTO LocalBarcode (PescaLocation, Barcode, TimeStamp, " & _ 
          "IsUpload) VALUES " & _ 
          "(@pescalocation, @barcode, @whatever, @whatever)" 
     cmd.Parameters.AddWithValue("@Pescalocation", pescalocation) 
     cmd.Parameters.AddWithValue("@Barcode", txtBarcode.text) 
     cmd.Parameters.AddWithValue("@TimeStamp", whatever) 
     cmd.Parameters.AddWithValue("@IsUpload", whatever) 
     cmd.ExecuteNonQuery() 
    Catch ex As Exception 
    Finally 
     dbConnection.Close() 
    End Try 

我会继续前进,使变量的 “现在” 和 “IsUpload”以便您可以更轻松地使用AddWithValue。