ストアド プロシージャを呼び出す C# コードを使用して、SQL テーブルに行を挿入しています。
C# コード:
SqlCommand myCommand = thisConnection.CreateCommand();
myCommand.CommandText = "FederationUpdateCTRAndImpressionCountsForAllYPIds";
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add("@bid", SqlDbType.UniqueIdentifier);
myCommand.Parameters.Add("@uid", SqlDbType.UniqueIdentifier);
myCommand.Parameters.Add("@imp", SqlDbType.VarChar);
myCommand.Parameters.Add("@ctr", SqlDbType.VarChar);
while (myfederationReader.Read())
{
myCommand.Parameters["@bid"].Value = myfederationReader["BusinessId"];
myCommand.Parameters["@uid"].Value = myfederationReader["UId"];
myCommand.Parameters["@imp"].Value = myfederationReader["Impression"];
myCommand.Parameters["@ctr"].Value = myfederationReader["CTR"];
rowsAffected = myCommand.ExecuteNonQuery();
}
ストアド プロシージャ:
CREATE PROCEDURE [dbo].[FederationUpdateCTRAndImpressionCountsForAllYPIds]
@bid uniqueidentifier,
@uid uniqueidentifier,
@imp varchar(255),
@ctr varchar(255)
AS BEGIN
UPDATE BasicBusinessInformation
SET BasicBusinessInformation.CTR = @ctr , BasicBusinessInformation.Impression = @imp
WHERE BasicBusinessInformation.BusinessId = @bid AND BasicBusinessInformation.UId = @uid
END
実行すると、次のエラーが報告されます。
プロシージャーにパラメーターがなく、引数が指定されました