Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 11.03.2009
Сообщений: 3
1

метод HasRows в Datareader

11.03.2009, 12:12. Показов 6366. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public bool FindStuff(int IdStuff)
        {
            string value = Convert.ToString(IdStuff);
            string ComandLine = @"SELECT id_stuff, id_stiff_groupe, stuff_name, id_unit 
                    FROM stuff WHERE (id_stuff = '" + value + "');";
 
            SqlCeCommand cmd = new SqlCeCommand(ComandLine);
 
            cmd.Connection = connect;
            connect.Open();
            SqlCeDataReader reader = cmd.ExecuteReader();
 
            reader.Read();
   
            if (IdStuff == reader.GetInt32(0))  //если значение не найдено 
            {                                 //ошибка No data exists for the row/column.
               connect.Close();
               return true;
             }
            else
            {
                connect.Close();
                return false;
            }
Запрос работает отлично. Но если значение не найдено тогда програма начинает ругаться вместе где получается значение из ридера.
Метод reader.HasRows выдает исключения.. так как его не поддерживает БД((

Подскажите плз, как еще можно проверить реадер получил ли он какието значения?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2009, 12:12
Ответы с готовыми решениями:

(System.Exception)(dr).HasRows).Message "SQL Server Compact не поддерживает вызовы свойства HasRows
Доброго всем утра. Помогите решить проблему. Есть программ в которую загружается БД sql compact....

Выполнение команд:метод executerader() и объект datareader
Здравствуйте, может ли кто-нибудь помочь сделать задание?(SQL полетел и не могу переустановить)

В экземпляре объекта не задана ссылка на объект при обращении к reader.HasRows
Подскажите плиз. string baseName = "keysKazDB.db"; ArrayList list = new ArrayList();...

DataReader пустой
Доброго времени суток! Есть хранимая процедура: USE GO SET ANSI_NULLS ON GO SET...

3
Комбайнёр
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
11.03.2009, 12:53 2
Сделай точку останова на строке
if (IdStuff == reader.GetInt32(0))
и посмотри не равен ли reader null.
также чему равен reader.FieldCount если нет значений?
0
0 / 0 / 0
Регистрация: 11.03.2009
Сообщений: 3
11.03.2009, 14:03  [ТС] 3
Цитата Сообщение от IT-Skyline Посмотреть сообщение
Сделай точку останова на строке

и посмотри не равен ли reader null.
также чему равен reader.FieldCount если нет значений?
Добавил команду
if (reader != null)
return true;
в обоих случаях возвращает тру;


Также reader.FieldCount всегда имеет значение 4. Даже если таблица пуста(((

Про сканировал код реадер меняет значение НУЛЛ после cmd.ExecuteReader(); в обоих случаях(

Добавлено через 42 минуты 25 секунд
Черт еще раз убеждаюсь что нужно внимательней читать Хелп))))

вставил в код команду: while (reader.Read())
и все заработало отлично. теперь значения просто не считываются если их нету

Но если у когото есть другие вариант как проверить ридер на наличие записей пишите интересно будет поэкспериментировать
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
12.03.2009, 03:40 4
Read() основной метод при работе с ридерами. Он делает попытку перехода к следующей записи в случае наличия записи возвращает true, иначе false.
0
12.03.2009, 03:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2009, 03:40
Помогаю со студенческими работами здесь

Закрыть DataReader
Всем привет. Возникла проблема при изменении одной базы в SQL Server 2012. Собственно что...

Исключение DataReader
Подскажите пожалуйста из-за чего может быть данное исключение:

Асинхронный DataReader
Код работает, я так понимаю что он в новом потоке считывает по срочно записи и записывает в...

Вопрос по DataReader
Люди, хелп... :( try { conn.Open(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru