Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将SqlParameter[]传递给方法_C#_Sql Server_Stored Procedures - Fatal编程技术网

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[]作为参数传递?”…就像将任何其他参数传递给方法一样…创建变量,填充它,然后在方法调用中传递它。在这种情况下,变量恰好是一个数组,这可能会让您感到困惑,但在一天结束时它仍然只是一个变量,您可以将它从一个方法传递到另一个方法,与任何其他变量一样。