我想通過在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 2012-04-27 13:57:20
@Shnkc你的SP顯示「name」的數據類型是varchar(30),這可能是導致問題的原因。檢查您傳遞給過程的字符串的長度。 – Jason 2012-04-27 14:07:42
好吧,我明白了。然後,問題就解決了 – Shnkc 2012-04-27 14:58:20