VB.Net OleDbException“字段定义中的语法错误”

时间:2014-01-15 11:33:38

标签: sql vb.net

我正在尝试通过VB.Net中的OleDbCommand使用以下SQL在Access数据库中创建一个表:

CREATE TABLE InTemp (Month DATE, Description TEXT(255), Cost DOUBLE, Patron TEXT(255));

代码在Access中运行正常,但在VB.Net中运行它会返回OleDbException“字段定义中的语法错误”。

完整的VB代码:

Dim con As New OleDb.OleDbConnection
con.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = " + DatabaseLocale
con.Open()
Dim createInTemp As New OleDb.OleDbCommand("CREATE TABLE InTemp (Month DATE, Description TEXT(255), Cost DOUBLE, Patron TEXT(255));", con)
createInTemp.ExecuteNonQuery()

我知道连接没有问题,因为它在我的程序中的其他位置工作。

任何帮助都很高兴赞赏!

1 个答案:

答案 0 :(得分:4)

我猜这里是Month DATE的问题,Month是MS Access中的一个函数,所以它很可能会发生冲突。尝试将您的查询更改为

CREATE TABLE InTemp ([Month] DATE, [Description] TEXT(255), [Cost] DOUBLE, [Patron] TEXT(255))

另外,据我所知DATE是特定于应用的类型,不一定是数据存储。我会使用DATETIME的实际底层类型(对TEXT也是如此)。

请参阅Microsoft Access Data Types