关于网友提出的“sqlparameter 这段SqlParameter添加到Command中用到foreach的作用是什么?”问题疑问,本网通过在网上对“sqlparameter 这段SqlParameter添加到Command中用到foreach的作用是什么?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:sqlparameter 这段SqlParameter添加到Command中用到foreach的作用是什么?
描述:
private static void PrepareCommand(SqlCommand cmd,SqlConnection conn,SqlTransaction trans, string cmdText, SqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = CommandType.Text;//cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parameter in cmdParms)
{
if ( ( parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input ) &&
(parameter.Value == null))
{
parameter.Value = DBNull.Value;
}
cmd.Parameters.Add(parameter);
}
}
}
这段代码中为什么要用到foreach循环?谢谢
解决方案1: 这个是判断parameter.Value是否非空以及parameter.Direction的条件,以使parameter.Value有一个正常的可以理解的值,即便是空也要是sql能理解的那种空,所以要判断一下都,用foreach对每个参数判断一下并设置
解决方案2: 循环是为了把你传递进去的SqlParameter[] cmdParms
加到SqlCommand的Parameters里面去,加之前做了一些 传递方向和空值的校验。
以上介绍了“sqlparameter 这段SqlParameter添加到Command中用到foreach的作用是什么?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2871858.html