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

Sql VB.Net OLEDBEException“字段定义中的语法错误”,sql,vb.net,Sql,Vb.net,我正在尝试通过VB.Net中的OLEDBC命令在Access数据库中使用以下SQL创建表: CREATE TABLE InTemp (Month DATE, Description TEXT(255), Cost DOUBLE, Patron TEXT(255)); 代码在Access中工作正常,但在VB.Net中运行它会在字段定义中返回OLEDBEException语法错误 完整的VB代码: Dim con As New OleDb.OleDbConnection con.Connectio

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

CREATE TABLE InTemp (Month DATE, Description TEXT(255), Cost DOUBLE, Patron TEXT(255));
代码在Access中工作正常,但在VB.Net中运行它会在字段定义中返回OLEDBEException语法错误

完整的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()
我知道连接没有问题,因为它在我的程序的其他地方工作

非常感谢您的帮助

我猜测月日是这里的问题所在,是MS Access中的一个函数,所以很有可能会发生冲突。尝试将查询更改为

CREATE TABLE InTemp ([Month] DATE, [Description] TEXT(255), [Cost] DOUBLE, [Patron] TEXT(255))
此外,据我所知,日期是特定于应用程序的类型,不一定是数据存储。我将使用实际的underyling类型,它是DATETIME,与文本相同

请参阅。

我猜测月日是这里的问题所在,它是MS Access中的一个函数,因此很有可能发生冲突。尝试将查询更改为

CREATE TABLE InTemp ([Month] DATE, [Description] TEXT(255), [Cost] DOUBLE, [Patron] TEXT(255))
此外,据我所知,日期是特定于应用程序的类型,不一定是数据存储。我将使用实际的underyling类型,它是DATETIME,与文本相同


瞧。

非常感谢您!我以为会是那样的愚蠢:太感谢你了!我以为会是那样的愚蠢:P