我想通过在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