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);
}
解决方案 »
- 寻求一个人———能帮助我解决这个问题的人
- 呵呵,关于缓存的应用问题
- win2003下activeX控件显示问题
- MSDN使用技巧!!!
- gridview放入updatepanel中,导出 excel时出错?
- 有没有在深圳想换工作的?
- 有关Dropdownlist的问题?
- 急。父窗口打开一个子窗口,怎么通过子窗口的来控制父窗口的一个DropDownList的选择,无刷新
- 精解:CType(e.CommandSource, LinkButton).Text 语句
- 一维数组赋值
- 简单问题:谁知道ASP.NET Ajax 1.0 2.0的 类库参考在什么地方?还是没有啊
- 在GridView控件中的某一模板列中插入一个CheckBoxList的问题?
如果参数是(既能输入也能输出的或者参数是能输入的)并且(参数为空),
那么将这个参数赋值为数据库中的空值。
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);
}
}
}
parameter.Value == null;
指的这个参数用户还有没有指定任何值
parameter.Value = DBNull.Value
这个给他指定一个空值同时对于程序编写来说null指的是什么都没有 -->这种情况会引发空引用的异常
DBNull.Value 表明有一个空值 -->这种情况不会
上述程序我认为主要作用还是避免出现空引用的异常.事实上只是加工了一下