mssqlでストアドプロシージャを使用して値を挿入したいとします。この手順を使用して、ストアドプロシージャパラメータをsqlDataSource、msSQLに追加
ALTER PROCEDURE dbo.insertNewMember
(@name varchar(30),
@age int)
AS
BEGIN
INSERT INTO member(memId, name, age) VALUES ('', @name, @age);
END
私のC#コード:
addStaffSql.InsertCommand = "insertNewMember";
addStaffSql.InsertCommandType = SqlDataSourceCommandType.StoredProcedure;
addStaffSql.InsertParameters.Add("@name", name);
addStaffSql.InsertParameters.Add("@age", age);
addStaffSql.Insert();
しかし、私はプログラムの実行時に、私は次のエラーを得た:これは私のストアドプロシージャであるあなたならば
Procedure or function 'insertNewMember' expects parameter '@name', which was not supplied.
を私は感謝します。
このソリューションのため、このエラーメッセージが表示されます: "文字列またはバイナリデータが切り捨てられます。 – Shnkc
@ShnkcあなたのSPは、 "name"のデータ型がvarchar(30)であることを示しています。これは問題を引き起こしている可能性があります。プロシージャに渡す文字列の長さを確認します。 – Jason
よろしいですか。その後、問題は解決されます – Shnkc