在mysql数据库的列中搜索空单元格并在datagridview上显示

时间:2017-01-17 14:40:33

标签: c# mysql datagridview

我的应用程序需要在我们的任务管理软件中搜索未完成的项目。为此,我试图实现一种方法,我可以读取我们的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值。

2 个答案:

答案 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