我想通过数组动态分配一个值参数。
例如,数组 arr_param
将包含两个值 [0] = "abc"
, [1] = "ZYX"
.现在,我将分配它们。这里的问题是我必须指定正确的元素 [0]
,[1]
在运行 foreach 之后,我尝试这样做但失败了转换为整数
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)]);
}
我收到错误无法将类型为“System.Data.DataRowCollection”的对象转换为类型为“System.IConvertible”
。
最佳答案
parmsDataTable.Rows
是一个 DataRowCollection
,它不能转换为 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))]);
}
关于c# - C#中如何传递数组中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37089271/