IDbDataParameter 是什麼數據類型?

时间:2023-02-07 19:50:15
大家好!
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

#2


還是看不懂

#1


IDbDataParameter 接口
用来向 Command 对象表示一个参数,以及向该对象的 DataSet 列映射表示参数(可选)
http://msdn.microsoft.com/zh-cn/library/system.data.idbcommand(VS.80).aspx

#2


還是看不懂