2011-01-24 108 views
1
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表?

回答

3

我建議粘貼生成的查詢文本到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])); 
+0

你怎麼能在Access中做到這一點?你在哪裏粘貼了SQL語句? – 2011-08-04 06:46:59

1

只是MyTable的後您使用開括號「(」你不要靠近。

要在Access創建表,我通常使用ADOX,這樣可以防止這種語法錯誤。

+0

只是修正,但其仍是得到一個錯誤。 – 2011-01-24 12:06:16

2

你需要一個結束括號)

+0

只是糾正它,但仍然得到相同的錯誤。 – 2011-01-25 12:23:33

相關問題