2013-08-30 24 views
-1

我試圖在SQL Server數據庫中創建表,但出現語法錯誤。如何解決在SQL Server中創建表時發生的語法錯誤

String quary1 = "CREATE TABLE " +chatTable + 
       "(" 
       +"From varchar(255)," 
       +"To varchar(255)," 
       +"Message varchar(255))"; 

SqlCommand cmd1 = new SqlCommand(quary1, con); 
cmd1.ExecuteNonQuery(); 

它給出了一個錯誤信息

語法錯誤從附近。

如果你給我一個提示會給出一個解決方案。謝謝

+0

? – Barmar

+3

'From'是一個T-SQL關鍵字 - 不要將它用於列名! (同樣適用於「To」) - 使用更具表現力的東西! –

+0

Microsoft SQL Server –

回答

6

From is a reserve word。用[From]代替它。

其更好,如果你能列重命名爲更具描述性的名稱,如FromAddress

做同樣的TO,因爲它也是一個保留字。

2

FROMTO是T-SQL中的reserved keywords。使用它們用方括號像[FROM][TO]

作爲一般的建議,使用不同的列名,而不是;)

1

解決辦法:

String quary1 = "CREATE TABLE " +chatTable + 
       "(" 
       +"[From] varchar(255)," 
       +"[To] varchar(255)," 
       +"[Message] varchar(255))"; 

SqlCommand cmd1 = new SqlCommand(quary1, con); 
cmd1.ExecuteNonQuery(); 
3

由於FROMTO保留字你需要改變你這樣的查詢

String quary1 = "CREATE TABLE " +chatTable + 
       "(" 
       +"chatFrom varchar(255)," 
       +"chatTo varchar(255)," 
       +"Message varchar(255))"; 

要看到所有的保留字的完整列表,請參閱您正在使用什麼數據庫管理系統這個環節

http://technet.microsoft.com/en-us/library/ms189822.aspx