ошибка sqldatareader - PullRequest
       5

ошибка sqldatareader

0 голосов
/ 06 апреля 2011

Я хочу проверить, является ли sqldatareader нулевым или нет.Поэтому попробовал следующий код:

if (x[k]!= DBNull.Value)   
{
  box.Text = Convert.ToString(x[k++]);

  if ((box.Text) != "")
    current[j - 1] = Convert.ToDouble(box.Text);
  else current[j - 1] = 0;

  box.Enabled = false;
}

Однако при попытке проверить значение в устройстве чтения данных выдает ошибку «недопустимая попытка чтения данных, когда данных нет».Как еще я должен проверить, есть ли данные там или нет. !!пожалуйста помоги.здесь x - sqldatareader SqlDataReader x = cmd.ExecuteReader ();и cmd является выбранным коммандом ..

Ответы [ 2 ]

4 голосов
/ 06 апреля 2011

Вы можете использовать SqlDataReader.HasRows - это правда, если присутствует хотя бы одна строка данных, или вы можете прочитать все результаты, используя SqlDataReader.Read();

Итак, для вашего примера:

while(x.Read())
{
  //read stuff
}
0 голосов
/ 06 апреля 2011

Вы можете выполнить нулевую проверку и Has Row перед доступом к DataRows.

вот так

if(null != x && x.HasRows)
{
//Your code
}
...