2012-03-23 13 views
-3

我的問題是我使用C#爲Visual Studio 10.0中的本地數據庫創建了一個表,並且我想要一個自動遞增字段我已經安裝好了。該表創建和身份領域似乎設置正確,一切似乎都很好,但我總是在插入時出現語法錯誤,當我使用身份領域 - 所以我想我有一個愚蠢的小錯字,但也許這是隻是不支持使用VS?Visual Studio 10.0不能將值插入到具有標識字段的表中(語法錯誤)

這是創建表的字符串和執行:

-connection string omitted- 
string createTableString = @"CREATE TABLE [Test](
[Test_ID] [int] IDENTITY (1,1) PRIMARY KEY NOT NULL, 
[OtherField] [varchar] (50))"; 
SqlCommand command = new SqlCommand(createTableString, con); 
command.ExecuteNonQuery(); 

這是我使用插入到表中的內容:

string insertString = @"INSERT INTO Test VALUES ('sometext')"; 
SqlCommand command1 = new SqlCommand(insertString, con); 
command1.ExecuteNonQuery(); 

請注意,我已經試過這也並獲得相同的語法錯誤:

string insertString = @"INSERT INTO Test (OtherField) VALUES ('sometext')"; 
SqlCommand command1 = new SqlCommand(insertString, con); 
command1.ExecuteNonQuery(); 

另外請注意,這個項目我必須通過這些紙片做在Visual Studio中創建命令。這可能嗎?非常感謝提前。

+3

語法錯誤究竟是什麼?您是否可以在SQL Management Studio中編輯表格? – 2012-03-23 06:03:30

+1

當你命令運行時,在創建表之後,你可以從sql中添加1,錯誤/異常消息是什麼? – uowzd01 2012-03-23 06:04:09

+0

是的,我可以在SQL Management Studio中編輯表格。在顯示數據模式下,我可以在第一列中右鍵,在第二列中輸入一個值,然後用自動遞增的正確數字填充第一列。所以表本身似乎正在工作和設置正確,但插入命令不知道如何解決身份字段(增量)。錯誤是'測試附近的語法錯誤'(指的是第二個實例,錯誤在行command1.ExecuteNonQuery())'SqlException是用戶代碼未處理' – 2012-03-23 06:26:04

回答

0

腳本看起來是正確的,我只能假設它與表的所有者有關。 SQL使當前用戶成爲表的所有者。嘗試[youruser]。[測試],看看是否有幫助。

+0

沒有,沒有骰子。儘管添加用戶或不添加用戶,但如果我丟失了身份字段,它就可以正常工作,但它不起作用。 – 2012-03-23 06:51:35

0

可能的測試是SQL關鍵字,嘗試在其周圍添加括號:[test]

相關問題