IDbDataParameter 是什麼數據類型?
以下是sqlhelper.cs中的一段代碼,如何理解?
private static void AssignParameterValues(SqlParameter[] commandParameters, object[] parameterValues)
{
if ((commandParameters == null) || (parameterValues == null))
{
// Do nothing if we get no data
return;
}
// 确保对象数组个数与参数个数匹配,如果不匹配,抛出一个异常.
// We must have the same number of values as we pave parameters to put them in
if (commandParameters.Length != parameterValues.Length)
{
throw new ArgumentException("参数值个数与参数不匹配.");
//throw new ArgumentException("Parameter count does not match Parameter Value count.");
}
// 给参数赋值
// Iterate through the SqlParameters, assigning the values from the corresponding position in the
// value array
for (int i = 0, j = commandParameters.Length; i < j; i++)
{
// If the current array value derives from IDbDataParameter, then assign its Value property
if (parameterValues[i] is IDbDataParameter)
{
IDbDataParameter paramInstance = (IDbDataParameter)parameterValues[i];
if (paramInstance.Value == null)
{
commandParameters[i].Value = DBNull.Value;
}
else
{
commandParameters[i].Value = paramInstance.Value;
}
}
else if (parameterValues[i] == null)
{
commandParameters[i].Value = DBNull.Value;
}
else
{
commandParameters[i].Value = parameterValues[i];
}
}
}
2 个解决方案
#1
IDbDataParameter 接口
用来向 Command 对象表示一个参数,以及向该对象的 DataSet 列映射表示参数(可选)
http://msdn.microsoft.com/zh-cn/library/system.data.idbcommand(VS.80).aspx
用来向 Command 对象表示一个参数,以及向该对象的 DataSet 列映射表示参数(可选)
http://msdn.microsoft.com/zh-cn/library/system.data.idbcommand(VS.80).aspx
#2
還是看不懂
#1
IDbDataParameter 接口
用来向 Command 对象表示一个参数,以及向该对象的 DataSet 列映射表示参数(可选)
http://msdn.microsoft.com/zh-cn/library/system.data.idbcommand(VS.80).aspx
用来向 Command 对象表示一个参数,以及向该对象的 DataSet 列映射表示参数(可选)
http://msdn.microsoft.com/zh-cn/library/system.data.idbcommand(VS.80).aspx
#2
還是看不懂