簡體   English   中英

嘗試在C#中插入時Scope_Identity錯誤

[英]error with Scope_Identity when trying to insert in C#

 string cmdTrainText = "INSERT INTO dbo.Event_Train(SCOPE_IDENTITY(), Train," + 
                                "Barrel_Train, Fire_Truck, Tram, Beverage_Cart) " + 
                        "VALUES(cbTrain, cbTBarrelTrain, cbTFire_Truck, cbTram, " +
                               "cbTBeverage_Cart)";

我收到以下錯誤

System.DataSqlClient.SqlException {“'('。附近的語法不正確。”}

一切都可以編譯。 運行程序時出現此錯誤。 我正在使用Visual Studio2015。我正在嘗試學習C#

我是否需要在SCOPE_IDENTITY()周圍放一些東西?

ScopeIdentity應該是VALUES括號內的第一個元素,然后您必須在第一個括號內寫出列名! 在這種情況下, ScopeIdentity似乎是一個值,而不是我的列名。

進行如下修改(建議使用列名ScopeID ):

string cmdTrainText = "INSERT INTO dbo.Event_Train(ScopeID, Train," + 
                              "Barrel_Train, Fire_Truck, Tram, Beverage_Cart) " + 
                      "VALUES(SCOPE_IDENTITY(), cbTrain, cbTBarrelTrain, cbTFire_Truck, " +
                              "cbTram, cbTBeverage_Cart)";

您不能使用不同數量的值和字段數。 您有6個字段,只有5個值。 此外,如果您有一個IDENTITY字段,則數據庫將自動遞增該字段,而無需您為其指定值。 SCOPE_IDENTITY是一個返回值,用於提供數據庫為插入和操作范圍生成的最后一個IDENTITY值(有關IDENTITY與SCOPE_IDENTITY的信息 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM