2011-11-25 71 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();