How do you create an MS Access table in C# programmatically?
1 2 3 4 5 6 7 8 | 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(); |
上面的代码标记语法错误异常,您可以帮助我更正查询字符串吗?谢谢。
我建议将结果查询文本粘贴到Access查询中;它会告诉您错误在哪里。
在我的Access XP上,粘贴生成的SQL会在AUTO_INCREMENT上出现语法错误;它应该是AUTOINCREMENT(请参阅Access 2007 SQL数据类型),并应指定为数据类型,而不是约束。
BOOL也给出了一个错误=>使用BIT
有效的结果:
1 2 3 4 5 6 | 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,这可以防止这种语法错误。