C# tableAdapter将NULL插入不可为NULL的字段

C# tableAdapter将NULL插入不可为NULL的字段,c#,.net,winforms,dataadapter,C#,.net,Winforms,Dataadapter,我读过 和类似的问答,但不太明白这一点。 问题是: tableAdapter允许我将null存储到不可为null的字段AllowDBNull=false 我需要检查什么 我可以查一下 string.Lenght == 0 string.IsNullOrEmpty(string) string.text = "" 在更新命令之前,但想知道为什么表适配器允许我存储空值 它实际上存储了someTextBox.Text=当需要为某些字段抛出异常null时 我有完全相同的问题,但没有解决办法 谢谢我需要

我读过

和类似的问答,但不太明白这一点。 问题是:

tableAdapter允许我将null存储到不可为null的字段AllowDBNull=false

我需要检查什么

我可以查一下

string.Lenght == 0
string.IsNullOrEmpty(string)
string.text = ""
在更新命令之前,但想知道为什么表适配器允许我存储空值

它实际上存储了someTextBox.Text=当需要为某些字段抛出异常null时

我有完全相同的问题,但没有解决办法


谢谢

我需要更多的代码来确定你在做什么,但是:

public static object GetValue(string value) {
  if (!String.IsNullOrEmpty(value)) {
    return value;
  }
  return DBNull.Value;
}

这能解决您的问题吗?

您有类型化的或非类型化的数据集吗?@HABJAN typed dataset何时何地检查。我使用的是从数据源tableAdapter update命令拖放详细信息后自动生成的。我有textBox,若textBox表中并没有文本,则仍在更新。TextBox被限制为不可为空的字段。当第一次插入数据时,不会有这个问题。引发异常无法将值NULL插入列'pp_naziv',表'winpro.dbo.pp';列不允许空值。插入失败。声明已终止。但在编辑现有记录时,如果我只删除绑定到不可为空字段的其中一个文本框中的文本,它会将textbox.text=存储到db中。当控件通过处理数据绑定事件接收数据时,可以进行此更改。如果数据为空,则可以将其更改为单个空格。您有拒绝数据的方法吗?我可以检查字符串是否为空,但它仍然是一个字符串,我需要null以便引发SQL异常。为什么它允许我将someTextBox.Text=存储到不可为null的字段中,以及如何在从textbox中删除文本后将值设置为dbnull?