数据是空的。无法在空值上调用此方法或属性。

时间:2013-11-18 16:49:58

标签: sql sql-server wpf

嗨我在表格中有空值,我将用它来填充组合框。我不知道该怎么做。当我运行以下代码时,我得到错误:数据是空的。无法在空值上调用此方法或属性。

private void code()
    {
        sc.Close();

        try
        {
            sc.Open();
            string Query = "SELECT * from CodeTable";
            SqlCommand createCommand = new SqlCommand(Query, sc);
            SqlDataReader dr = createCommand.ExecuteReader();
            while (dr.Read())
            {
                String code = dr.GetString(1);


                if (!cbDevices.Items.Contains(code))

                    {
                        cbDevices.Items.Add(code);
                    }


            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

2 个答案:

答案 0 :(得分:2)

您可以使用IsDbNull过滤掉null。

if (!dr.IsDbNull(1))
{
  String code = dr.GetString(1);

  if cbDevices.Items.Contains(code))
  {
     cbDevices.Items.Add(code);
  }
 }

答案 1 :(得分:0)

最简单的方法就是在SQL中过滤掉它们:

"SELECT * from CodeTable WHERE code IS NOT NULL"

我假设根据您的示例,字段名称为code,但您可以进行适当的调整。