c# - 如何将空值插入数据库?

标签 c# asp.net c#-2.0

您好,我正在尝试根据 gridview 数据键值在数据库列中插入空值(如果是“”,则将空值插入数据库) 但是,我在数据库列中得到一个空格 ' '。

string sbcId = gvTest.DataKeys[gr.RowIndex]["myColumn"].ToString();
 insgnp.Parameters.Add(new OleDbParameter("EMPID", (sbcId==""?DBNull.Value.ToString():sbcId)));

最佳答案

你必须重写你的代码:

if(string.IsNullOrEmpty(sbcId))
    Parameters.Add(new OleDbParameter("EMPID", DBNull.Value)); 
else
    Parameters.Add(new OleDbParameter("EMPID", sbcId)); 

您拥有的三元 if 语句的问题是它的返回类型必须始终相同,这就是您不能使用它的原因(string 和 DbNull.Value 不兼容)

关于c# - 如何将空值插入数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3913241/

相关文章:

c# - 如何根据键值获取在文本文件中输入的记录

c# - ReSharper 警告 : Base Class [NotNull] While Derived Class Property [CanBeNull] Conflict

c# - 对 Web 方法的 Ajax 调用在内容类型设置为 ` application/json; charset=utf-8` 时不起作用

c# - AssemblyLoadContext 将无法卸载

c# - 将多个 Api 调用建模为 1 个对象(数据结构)

javascript - 根据下拉列表中选择的值切换 <div>

asp.net - 如何从 HttpActionExecutedContext 获取当前的 HttpContext

Asp.Net 分页最佳实践

c#-2.0 - 单击按钮时触发文本更改事件

c# - 有没有办法检测一个进程是否/何时在 C# .Net 2.0 中启动另一个进程?