如何将成员添加到 SqlParameter 数组?
How can I add members to an array of SqlParameter?
我有这个代码:
private SqlParameter[] GetSPParams()
{
SqlParameter[] spParams = null;
int loopNum = 1;
while (ParamExists(loopNum))
{
//spParams.
new SqlParameter()
{
ParameterName = GetParamName(loopNum),
SqlDbType = GetSqlDbType(loopNum),
Value = GetParamValue(loopNum)
};
loopNum++;
}
return spParams;
}
...如您所见,returns 始终为 null。
"spParams." 被注释掉了,因为我在 Intellisense 可能性中没有发现 "Add" 或类似的东西 - 或者任何看起来正确的东西。
我需要一个 SqlParameter 数组,因为它最终会传递给我运行存储过程的方法:
private void RunStoredProc()
{
SqlParameter[] spparams = GetSPParams();
DataTable dtSPResults = SPRunnerSQL.ExecuteSQLReturnDataTable(comboBoxCPSStoredProcs.Text,
CommandType.StoredProcedure,
spparams
);
rowsReturned = dtSPResults.Rows.Count;
labelRowsReturned.Text = String.Format("Rows returned: {0}", rowsReturned);
if (rowsReturned > 0)
{
dataGridView.DataSource = dtSPResults;
}
}
. . .
public static DataTable ExecuteSQLReturnDataTable(string sql, CommandType cmdType, params SqlParameter[] parameters)
那么如何将 SqlParameter 值添加到 SqlParameter 数组?
您可以使用 List<SqlParameter>
而不是 array
,那么您应该能够添加新元素。然后,只需 return 一个调用方法 ToArray()
的数组即可将集合转换为 array
.
private SqlParameter[] GetSPParams()
{
var spParams = new List<SqlParameter>();
int loopNum = 1;
while (ParamExists(loopNum))
{
spParams.Add(new SqlParameter()
{
ParameterName = GetParamName(loopNum),
SqlDbType = GetSqlDbType(loopNum),
Value = GetParamValue(loopNum)
});
}
return spParams.ToArray();
}
现在,如果您需要添加 nem 成员,您可以从 SqlParameter
派生,但是作为 documentation,这个 class 是 sealed
。
我有这个代码:
private SqlParameter[] GetSPParams()
{
SqlParameter[] spParams = null;
int loopNum = 1;
while (ParamExists(loopNum))
{
//spParams.
new SqlParameter()
{
ParameterName = GetParamName(loopNum),
SqlDbType = GetSqlDbType(loopNum),
Value = GetParamValue(loopNum)
};
loopNum++;
}
return spParams;
}
...如您所见,returns 始终为 null。
"spParams." 被注释掉了,因为我在 Intellisense 可能性中没有发现 "Add" 或类似的东西 - 或者任何看起来正确的东西。
我需要一个 SqlParameter 数组,因为它最终会传递给我运行存储过程的方法:
private void RunStoredProc()
{
SqlParameter[] spparams = GetSPParams();
DataTable dtSPResults = SPRunnerSQL.ExecuteSQLReturnDataTable(comboBoxCPSStoredProcs.Text,
CommandType.StoredProcedure,
spparams
);
rowsReturned = dtSPResults.Rows.Count;
labelRowsReturned.Text = String.Format("Rows returned: {0}", rowsReturned);
if (rowsReturned > 0)
{
dataGridView.DataSource = dtSPResults;
}
}
. . .
public static DataTable ExecuteSQLReturnDataTable(string sql, CommandType cmdType, params SqlParameter[] parameters)
那么如何将 SqlParameter 值添加到 SqlParameter 数组?
您可以使用 List<SqlParameter>
而不是 array
,那么您应该能够添加新元素。然后,只需 return 一个调用方法 ToArray()
的数组即可将集合转换为 array
.
private SqlParameter[] GetSPParams()
{
var spParams = new List<SqlParameter>();
int loopNum = 1;
while (ParamExists(loopNum))
{
spParams.Add(new SqlParameter()
{
ParameterName = GetParamName(loopNum),
SqlDbType = GetSqlDbType(loopNum),
Value = GetParamValue(loopNum)
});
}
return spParams.ToArray();
}
现在,如果您需要添加 nem 成员,您可以从 SqlParameter
派生,但是作为 documentation,这个 class 是 sealed
。