[英]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.