我的应用程序需要在我们的任务管理软件中搜索未完成的项目。为此,我试图实现一种方法,我可以读取我们的MySQL数据库的不完整的项目,并在屏幕上显示它们。如果特定单元格是“空值”,则项目将不完整。当单元格显示“已完成”时,项目完成。我试图在一行中搜索所有空值,并使用visual basic C#将它们显示在DataGridView
上。
我尝试的代码如下,不幸的是它没有用:
private void button4_Click(object sender, EventArgs e)
{
DataView DV = new DataView(dt);
DV.RowFilter = string.Format("BackSheetAssembled LIKE '%{0}%'", DBNull.Value );
dataGridView1.DataSource = DV;
}
我尝试使用文本框替换DBNull.Value
时使用相同的方法,它可以正常工作并在数据库中搜索这些文本,但它不适用于Null
值。
答案 0 :(得分:1)
试试这个
DV.RowFilter = "Isnull(BackSheetAssembled,'') = ''";
答案 1 :(得分:-1)
DV.RowFilter =" BackSheetAssembled为null";
示例:
var table = new DataTable();
table.Columns.Add(new DataColumn("Id"));
table.Columns.Add(new DataColumn("Name"));
table.Rows.Add(new object[] { 123, "Name1" });
table.Rows.Add(new object[] { 234, "Name2"});
table.Rows.Add(new object[] { null, "Name3" });
var view = new DataView(table);
view.RowFilter = "Id is null";
for (int i = 0; i < view.Count; i++)
Console.WriteLine(view[i][1].ToString());
Console.ReadLine();
输出:Name3