我試圖獲得最後的SQL插入的獨特的自動生成密鑰: -SQL錯誤:必須聲明標量變量
INSERT [db].[xyyz] (x,y,z) values (@x,@y,@z)
SET @RowId = SCOPE_IDENTITY();
command.Parameters.AddWithValue("@x", x);
command.Parameters.AddWithValue("@y", y);
command.Parameters.AddWithValue("@z", z);
這樣一來,我可以訪問其他表並使用相同的RowId的,爲當前事務插入數據。並因此建立所有表與單個事務之間的關係。
但是我得到的錯誤:
Must declare a scalar variable" for the @RowId
我相信介於什麼ROWID是什麼意思在SQL表壞了邏輯鏈路...誰能幫助我解決這個問題?
我在C#中工作,而不是在SQL Server中工作。
UPDATE:我無法讓我的代碼將RowID
值存儲在變量中。我曾嘗試:
Int32 newRowID = 0;
... SQL QUERY..
...
newRowID = (Int32)command.ExecuteScalar();
,但我得到一個空的異常錯誤:
Object reference not set to an instance of an object
誰能幫助我解決這個問題?
它告訴你是什麼錯誤;你需要*聲明*'@ RowId',除非你已經宣佈它是elswehere並且沒有顯示它。 – LittleBobbyTables
,我該怎麼做?我以前的版本爲 int RowId = 0; – Philo
,因爲我在C#和asp.net工作...是不是很糟糕? – Philo