C#中如何传递数组中的参数?
How to pass parameter from an array in c#?
我想通过数组动态分配一个值参数。
例如,数组 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'
。
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))]);
}
我想通过数组动态分配一个值参数。
例如,数组 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'
。
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))]);
}