Этот метод или свойство не может вызываться для значений равных Null.DataGrid
private void CreateColums()
{
dataGridView1.Columns.Add("COMPANY_ID", "ID Компании");
dataGridView1.Columns.Add("NAME", "Наименование");
dataGridView1.Columns.Add("DIRECTOR", "Директор");
dataGridView1.Columns.Add("IsNew", String.Empty);
}
private void ReadSingleRow(DataGridView dgw, IDataRecord record)
{
dgw.Rows.Add(record.GetInt32(1), record.GetString(2), record.GetString(3), RowState.Mod[![введите сюда описание изображения][1]][1]ifiedNew);
}
private void RefreshDataGrid(DataGridView dgw)
{
dgw.Rows.Clear();
string queryString = $"select *from company";
SqlCommand command = new SqlCommand(queryString, db.GetConnection());
db.openConnection();
SqlDataReader reader = command.ExecuteReader();
while(reader.Read())
{
ReadSingleRow(dgw, reader);
}
reader.Close();
}
В таблице Company есть строки null. Не может прочесть их
Дополнение к ошибке скрин. У кого есть варианты как прочесть строки Null в SQL
Ответы (1 шт):
Автор решения: Konst
→ Ссылка
private void ReadSingleRow(DataGridView dgw, IDataRecord record)
{
/*при условии, что выборка идёт по правильным индексам полей
field index: 0,1,2,3
select id, company_id, name, director from company
*/
int company_id = (record.GetValue(1) == DBNull.Value) ? 0 : (int)record.GetValue(1);
string name = (record.GetValue(2) == DBNull.Value) ? string.Empty : record.GetString(2);
string director = (record.GetValue(3) == DBNull.Value) ? string.Empty : record.GetString(3);
dgw.Rows.Add(company_id, name, director, RowState.ModifiedNew);
}
