Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象类型的DBNull值的DataView的RowFilter_C#_Wpf_Datatable_Null_Dbnull - Fatal编程技术网

C# 对象类型的DBNull值的DataView的RowFilter

C# 对象类型的DBNull值的DataView的RowFilter,c#,wpf,datatable,null,dbnull,C#,Wpf,Datatable,Null,Dbnull,DataTable中DBNull值的筛选器字符串的外观如何 "IsNull("Column1", 'Null Column')='Null Column'" "IsNull("Column1", 'Null Column')<>'Null Column'" “IsNull(“Column1”,“Null Column”)=“Null Column” “IsNull(“Column1”,“Null Column”)“Null Column” 此字符串用于过滤列1中的空值。如果它是一

DataTable中DBNull值的筛选器字符串的外观如何

"IsNull("Column1", 'Null Column')='Null Column'"
"IsNull("Column1", 'Null Column')<>'Null Column'"
“IsNull(“Column1”,“Null Column”)=“Null Column”
“IsNull(“Column1”,“Null Column”)“Null Column”
此字符串用于过滤列1中的空值。如果它是一个字符串列,并引发其他类型的异常,则可以正常工作

有什么想法吗

我还想知道列的对象类型的Null和DBNull是否相同?

dt.Columns.Add(新数据列(“标题”,typeof(字符串));
Add(新数据列(“TitleID”,typeof(Int32)){AllowDBNull=true});
添加(新的数据列(“日期”,类型(对象));
添加(新数据列(“Desc”,typeof(string));

对于(int i=0;i我根据
NULL
电子邮件ID过滤
DataTable

  var results = from DataRow myRow in dtCustomer.Rows
                          where (object)myRow["EmailID"] == DBNull.Value
                          select myRow;
            DataTable dt = results.CopyToDataTable();
关于
NULL
DBNULL
有一个很好的解释

根据:

我还用数据库中的
JoinDate
进行了测试,它是
NULL
,数据类型是
datetime
,也用
date
类型进行了测试

   dataView.RowFilter = "Isnull(JoinDate,'Null Column') = 'Null Column'";
更新 更新您的代码:

 dt.Columns.Add(new DataColumn("Date", typeof(DateTime)) { AllowDBNull = true });
在循环的

if (i == 2)
   {
      row["Date"] = DateTime.Now;
   }
然后过滤。它会工作的。

试试看

 dataView.RowFilter = "JoinDate IS null";

你检查了我下面的答案了吗?检查更新后的答案。
P4的数据类型是什么?
typeof(object)
但是我正在插入
DateTime
的值。这有什么问题吗?
P4
应该是来自数据库的
DataTable
列的名称。可能是但我在使用DataTable的DataView,所以我在使用接受字符串的RowFilter。这就是我查找筛选器字符串的原因。我该怎么做?你可以告诉我们吗e LINQ没有任何问题,但我仅限于RowFilter..这就是我要求筛选字符串的原因。是的,这是我在查询中给出的代码。这对字符串列很好,但对其他类型列抛出异常。请查看附件图像..对于定义的数据类型,它将起作用,我询问对象类型pe并将类型(如DateTime)强制转换为对象。在这种情况下,它不起作用。。
if (i == 2)
   {
      row["Date"] = DateTime.Now;
   }
 dataView.RowFilter = "JoinDate IS null";