2011-11-25 70 views
1

我想在我的數據庫中創建一個表,我被告知我的SQL的語法有錯誤。而我不知道在哪裏。使用C#和MS Access創建表SQL

objOleDbCommand.CommandText = "CREATE TABLE PersonalData (" + 
    "[DataID] AUTOINCREMENT NOT NULL PRIMARY KEY ," + 
    "[Type] VARCHAR(40) NOT NULL ," + 
    "[URL] VARCHAR(40) NOT NULL ," + 
    "[SoftwareName] VARCHAR(40) NOT NULL ," + 
    "[SerialCode] VARCHAR(40) NOT NULL ," + 
    "[UserName] VARCHAR(40) NOT NULL ," + 
    "[Password] VARCHAR(40) NOT NULL"; 

objOleDbCommand.ExecuteNonQuery(); 

回答

5

您似乎錯過了右括號。此外,爲了使稍微可讀的代碼,可以考慮使用@""結構,它允許多行字符串文字:

objOleDbCommand.CommandText = @"CREATE TABLE PersonalData (
    [DataID] AUTOINCREMENT NOT NULL PRIMARY KEY, 
    [Type] VARCHAR(40) NOT NULL, 
    [URL] VARCHAR(40) NOT NULL, 
    [SoftwareName] VARCHAR(40) NOT NULL, 
    [SerialCode] VARCHAR(40) NOT NULL, 
    [UserName] VARCHAR(40) NOT NULL, 
    [Password] VARCHAR(40) NOT NULL 
)"; 
+0

呃!是的,我做了...我需要休息一下,我很累。 – HelpNeeder

+0

好點!謝謝! – HelpNeeder

1

你缺少在最後一個右括號。 IE:

objOleDbCommand.CommandText = "CREATE TABLE PersonalData (" + 
       "[DataID] AUTOINCREMENT NOT NULL PRIMARY KEY ," + 
       "[Type] VARCHAR(40) NOT NULL ," + 
       "[URL] VARCHAR(40) NOT NULL ," + 
       "[SoftwareName] VARCHAR(40) NOT NULL ," + 
       "[SerialCode] VARCHAR(40) NOT NULL ," + 
       "[UserName] VARCHAR(40) NOT NULL ," + 
       "[Password] VARCHAR(40) NOT NULL)"; 

      objOleDbCommand.ExecuteNonQuery();