如何从c#中的数组传递参数?

时间:2016-05-07 13:40:27

标签: c# arrays datarow

我想通过数组分配一个值参数dynamic。 例如,数组arr_param将包含两个值[0] = "abc"[1] = "ZYX" 。现在,我将分配它们。这里的问题是我必须在运行foreach之后指定正确的元素[0][1],我尝试了但是无法转换为int

string[] arr_param  =  array_parameter.Split(';');
foreach (DataRow parmRow in parmsDataTable.Rows)
{
    string parmName = parmRow[parmNameDataColumn].ToString();
    cmd.Parameters.AddWithValue(parmName, arr_param[Convert.ToInt32(parmsDataTable.Rows)]);
}

我收到错误Unable to cast object of type 'System.Data.DataRowCollection' to type 'System.IConvertible'

1 个答案:

答案 0 :(得分:1)

parmsDataTable.RowsDataRowCollection,无法转换为int

简单解决方案:

string[] arr_param  =  array_parameter.Split(';');
int counter = 0;
foreach (DataRow parmRow in parmsDataTable.Rows)
{
   string parmName = parmRow[parmNameDataColumn].ToString();
   cmd.Parameters.AddWithValue(parmName, arr_param[counter++)]);
}

或者:

string[] arr_param  =  array_parameter.Split(';');
foreach (DataRow parmRow in parmsDataTable.Rows)
{
   string parmName = parmRow[parmNameDataColumn].ToString();
   cmd.Parameters.AddWithValue(parmName,arr_param[parmsDataTable.Rows.IndexOf(parmRow))]);
}