IDataParameter[]简单的说来,就是可以包含任何数据库参数的数组,这些参数可以是SqlParameter或者OleDbParameter,但是,IDataParameter[]不可以直接从SqlParameter[]转换过来。
下面是三种创建IDataParameter[]的方法:
一、直接构造:
IDataParameter[] parameters = new IDataParameter[]{ sqlparameter1, sqlparameter2, new SqlParameter(...) }
二、通过ArrayList转换。
ArrayList paramlist = new ArrayList()
paramlist.Add( sqlparameter1 );
....
....
IDataParameter param = (IDataParameter[]) paramlist.ToArray( typeof( IDataParameter ) );
三、通过其他Parameter类型的数组创建。
SqlParameter[] _param = new SqlParameter[]{ .... }
IDataParameter[] param = new IDataParameter[ _param.Length ];
_param.CopyTo( param, 0 );
IDataParameter[] parameters = new IDataParameter[] { new SqlParameter("存储过程名1", "值1"), new SqlParameter("存储过程名2", "值2") };
//传参数
ds = SH.ExecSPDataSet2("存储过程名",parameters);