如何以编程方式在C#中创建MS Access表?
问题描述:
command.CommandText = "CREATE TABLE MyTable (" +
"[Count] INT NOT NULL AUTO_INCREMENT PRIMARY KEY ," +
"[TimeAndDate] TIMESTAMP NOT NULL ," +
"[SerialNumber] VARCHAR(14) NOT NULL ," +
"[Result] BOOL NOT NULL ," +
"UNIQUE ([TimeAndDate]))";
command.ExecuteNonQuery();
代码上面的标志语法错误异常,你能帮我纠正查询字符串吗?谢谢。如何以编程方式在C#中创建MS Access表?
答
我建议粘贴生成的查询文本到Access查询。它会告诉你哪里出错
在我访问XP,粘贴得到的S-。 QL在AUTO_INCREMENT上给出了语法错误;它应该是AUTOINCREMENT(参见Access 2007 SQL data types)并且被指定为数据类型而不是约束。 BOOL也给了一个错误=>使用BIT
结果是工作:
CREATE TABLE MyTable (
[Count] AUTOINCREMENT NOT NULL PRIMARY KEY ,
[TimeAndDate] TIMESTAMP NOT NULL ,
[SerialNumber] VARCHAR(14) NOT NULL ,
[Result] BIT NOT NULL ,
UNIQUE ([TimeAndDate]));
答
只是MyTable的后您使用开括号“(”你不要靠近。
要在Access创建表,我通常使用ADOX,这样可以防止这种语法错误。
+0
只是修正,但其仍是得到一个错误。 – 2011-01-24 12:06:16
答
你需要一个结束括号)
+0
只是纠正它,但仍然得到相同的错误。 – 2011-01-25 12:23:33
你怎么能在Access中做到这一点?你在哪里粘贴了SQL语句? – 2011-08-04 06:46:59