Проверьте, являются ли данные в ячейке datagridview пустыми - PullRequest
1 голос
/ 20 февраля 2012

My DataGridView связан с результатом запроса к базе данных через SqlDataReader, и когда я проверяю значение ячейки для null, я получаю неожиданные результаты.

Мой код выглядит примерно так:

SqlConnection con = new SqlConnection(
     "Data Source = .;Initial Catalog = SAHS;integrated security = true");
con.Open();
SqlCommand cmd3 = new SqlCommand(
    "select  Status from vw_stdtfeedetail 
     where Std= 6  and Div ='B' and name='bbkk' and mnthname ='June'", con);
SqlDataReader dr = cmd3.ExecuteReader();
BindingSource bs = new BindingSource();
bs.DataSource = dr;
dataGridView3.DataSource = bs;
this.monthFeeTableAdapter.Fill(this.sAHSDataSet4.MonthFee);
if (dataGridView3.CurrentCell.Value == null)
{
    MessageBox.Show("Pending");
}
else
{
    MessageBox.Show("Already Paid");
}

Я получаю вывод Уже оплачено , хотя значение из базы данных null .

1 Ответ

4 голосов
/ 20 февраля 2012

Попробуйте использовать DBNull.Value вместо null

if (dataGridView3.CurrentCell.Value == DBNull.Value)
{
    MessageBox.Show("Pending");
}
else
{
    MessageBox.Show("Already Paid");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...