Parameters.Add和Parameters.AddWithValue有什么区别
1个回答
展开全部
参考1:http://topic.csdn.net/u/20090110/23/4c4e1a49-607e-4a06-a231-b16fefa73674.html
参考2:http://ziwei888.wordpress.com/2008/10/02/parameteradd-%E8%88%87-parameteraddwithvalue-%E7%9A%84%E5%B7%AE%E5%88%A5/
个人觉得:
Parameters.Add在传入参数的时候需要设置参数的数据类型,有些麻烦。
而Parameters.AddWithValue不需要,但是Parameters.AddWithValue在传入数据是DataTime的时候会出错。所以我的做法是在能用AddWithValue的时候就用他
paramNames:参数的数组
for (int i = 0; i < paramNames.Count; i++)
{
if (objParamValues[i].GetType().ToString() == "System.DateTime")
{//是时间类型,用Add替换
OleDbParameter p = new OleDbParameter();
p.ParameterName = paramNames[i];
p.OleDbType = OleDbType.Date;
p.Value = objParamValues[i];
cmd.Parameters.Add(p);
}
else
cmd.Parameters.AddWithValue(paramNames[i], objParamValues[i]);
}
参考2:http://ziwei888.wordpress.com/2008/10/02/parameteradd-%E8%88%87-parameteraddwithvalue-%E7%9A%84%E5%B7%AE%E5%88%A5/
个人觉得:
Parameters.Add在传入参数的时候需要设置参数的数据类型,有些麻烦。
而Parameters.AddWithValue不需要,但是Parameters.AddWithValue在传入数据是DataTime的时候会出错。所以我的做法是在能用AddWithValue的时候就用他
paramNames:参数的数组
for (int i = 0; i < paramNames.Count; i++)
{
if (objParamValues[i].GetType().ToString() == "System.DateTime")
{//是时间类型,用Add替换
OleDbParameter p = new OleDbParameter();
p.ParameterName = paramNames[i];
p.OleDbType = OleDbType.Date;
p.Value = objParamValues[i];
cmd.Parameters.Add(p);
}
else
cmd.Parameters.AddWithValue(paramNames[i], objParamValues[i]);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询