私は.NETとSQLServerに比較的慣れていません。.NETからストアドプロシージャを実行して、auto_increment値を取り戻そうとしています。これは.NET(VB.NET)の私のコードです:
myComm.Parameters.AddWithValue("@newkey", newKey)
myComm.Parameters.AddWithValue("@newimg", DirectCast(imgByteArray, Object))
Dim resultReader As SqlDataReader = myComm.ExecuteReader
Dim resultId As Integer
While resultReader.Read
resultId = resultReader.GetInt16("@returnid")
End While
そして、これは私のストアドプロシージャです。
-- Add the parameters for the stored procedure here
@newkey nvarchar(MAX),
@newimg varbinary(MAX),
@returnid integer = 0
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO dbo.AmazonS3Preview(myKey,previewImage) VALUES (@newkey,@newimg)
SET @returnid=(SELECT @@IDENTITY AS [@@IDENTITY])
END
現在.NETでは常に「0」を取得してresultId
いますが、誰かが私が間違っていることを教えてもらえますか?