C# 将SqlParameter[]传递给方法
我想创建一个方法来执行一个名为该方法参数的存储过程,存储过程的参数(变量)由C# 将SqlParameter[]传递给方法,c#,sql-server,stored-procedures,C#,Sql Server,Stored Procedures,我想创建一个方法来执行一个名为该方法参数的存储过程,存储过程的参数(变量)由SqlParameter[]param提供,如下所示: public void modifying(string method, SqlParameter[] param) { SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-HP5H4JL\SQLEXPRESS;Initial Catalog=Pocket Money;Integrated
SqlParameter[]param
提供,如下所示:
public void modifying(string method, SqlParameter[] param)
{
SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-HP5H4JL\SQLEXPRESS;Initial Catalog=Pocket Money;Integrated Security=True;Pooling=False");
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = method;
cmd.Connection = con;
if (param != null)
cmd.Parameters.AddRange(param);
cmd.ExecuteNonQuery();
}
此方法位于类Modify
中。现在我想执行存储过程insertItemStudents
:
CREATE PROCEDURE insertItemStudents
@name VARCHAR(50),
@class VARCHAR(10),
@Gender BIT,
@BirthDate DATE,
@PhoneNumber CHAR(11),
@Email VARCHAR(50)
AS
INSERT INTO Students( StudentName, Class, Gender, BirthDate, PhoneNumber, Email)
VALUES (@name, @class, @Gender, @BirthDate, @PhoneNumber, @Email)
RETURN 0
我创建了一个表单,其中有用于插入新值的文本框。但问题是:如何将SqlParameter[]
作为参数传递?您可以试试这个
SqlParameter[] paramCollection = new SqlParameter[1];
SqlParameter param1 = new SqlParameter("name", typeof(string));
paramCollection[0] = param1;
modifying("methodname", paramCollection);
到底是什么问题?我想你知道如何将参数传递给方法吗?那么您想知道如何创建
SqlParameter
实例吗?你有什么错误吗?请说明您试图“将SqlParameter[]作为参数传递”的方式以及失败的方式。“如何将SqlParameter[]作为参数传递?”…就像将任何其他参数传递给方法一样…创建变量,填充它,然后在方法调用中传递它。在这种情况下,变量恰好是一个数组,这可能会让您感到困惑,但在一天结束时它仍然只是一个变量,您可以将它从一个方法传递到另一个方法,与任何其他变量一样。