Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с sqlreader
|
|||
|---|---|---|---|
|
#18+
Есть например ХР select Код: c# 1. , d.name, t.info From table as d .... Так вот проблема в том что reader вылетает на чтени столбца id Код: c# 1. cdr - это обьект куда считываются данные Вот сама ошибка Недопустимая попытка чтения при отсутствии данных. в sql management studio проверял запрос все работает а VS 2010 ругается Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2013, 17:43 |
|
||
|
Проблема с sqlreader
|
|||
|---|---|---|---|
|
#18+
VIT2708, метод Read() ты не забыл вызвать перед этим? Не помешает также убедится, что SP возвращает только один результат. В этом случае на закладке Messages будет только одна надпись вида (n row(s) affected). Если их несколько, то а) убери "ненужные" с помощью SET NOCOUNT ON/OFF или б) передвинь SqlDataReader на нужный результат с помощью метода NextResult(). P.S. Код у тебя странный. 1) Ты читаешь значение id колонки, которое, по идее, является числом, но сохраняешь его как строку. Если это так, то зачем ты так делаешь? 2) Для чтения данных лучше использовать методы вида GetString(int), GetInt32(int) чтобы не делать приведений типа и явно деклалировать ожидания насчет типа данных колонки. Да, этим методам нужно передавать индекс колонки что удлиняет код, но никто же не мешает сохранить его в переменную до цикла. То есть вместо Код: c# 1. 2. 3. 4. 5. 6. 7. написать Код: c# 1. 2. 3. 4. 5. 6. 7. 8. Или можно написать extension метод, который принимает имя колонки и вызывает GetOrdinal() внутри себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2013, 18:35 |
|
||
|
Проблема с sqlreader
|
|||
|---|---|---|---|
|
#18+
bazile, List<Класс> dList = new List<Класс>(); try { reader = command.ExecuteReader(); while (reader.Read()) { Класс cdd = Функция в которой вылетает ошибка(); // внутри этой функции и вылетает ошибка которую я привел ранее, в sql management studio такой запрос возвращает 2 записи dList.Add(cdd); } } catch { return null; } finally { CloseReader(); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2013, 18:47 |
|
||
|
Проблема с sqlreader
|
|||
|---|---|---|---|
|
#18+
VIT2708, Read() ты вызываешь, а что насчет второго совета? bazileНе помешает также убедится, что SP возвращает только один результат. В этом случае на закладке Messages будет только одна надпись вида (n row(s) affected). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2013, 20:39 |
|
||
|
Проблема с sqlreader
|
|||
|---|---|---|---|
|
#18+
bazileVIT2708, Read() ты вызываешь, а что насчет второго совета? bazileНе помешает также убедится, что SP возвращает только один результат. В этом случае на закладке Messages будет только одна надпись вида (n row(s) affected). я создал 2 тестовые строки в базе. И таких ридеров у меня много но только этот не работает. Хотя Messages пуст, странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2013, 10:55 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38120292&tid=1358849]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 349ms |

| 0 / 0 |
