|
FBDataReader показывает, что в наборе записей есть строки, но не проходит по ним
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Где напортачил, помогите разобраться, плз... Ваяю: MS Access 2003, mdb | VB.NET + mdb/SQL Express | 1С 8.2.14, тонкий клиент, управляемое приложение ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 17:25 |
|
FBDataReader показывает, что в наборе записей есть строки, но не проходит по ним
|
|||
---|---|---|---|
#18+
КириллН, Разобрался. Рекордсет был уже "пройденным" на этапе открытия, недоглядел: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 17:38 |
|
FBDataReader показывает, что в наборе записей есть строки, но не проходит по ним
|
|||
---|---|---|---|
#18+
КириллН, Отсюда, кстати, вопрос: как вернуться к началу набора, если это вообще возможно? И как получить количество записей в наборе? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 17:39 |
|
FBDataReader показывает, что в наборе записей есть строки, но не проходит по ним
|
|||
---|---|---|---|
#18+
а в чем тайный смысл этого: while (this.recordSet.Read()) { } ???? DbDataReader - это быстрое чтение вперед. Вот прямо строка из MSDN: Предоставляет возможность чтения потока строк только в прямом направлении из базы данных Чтобы получить возможность двигаться по набору в любом направлении, необходимо загрузить все записи в список Количество записей в наборе можно получить постфактум по длине загруженного списка или, к примеру, черех выходной параметр процедуры на SQL сервере. Вариантов несколько ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 17:47 |
|
FBDataReader показывает, что в наборе записей есть строки, но не проходит по ним
|
|||
---|---|---|---|
#18+
Arm79а в чем тайный смысл этого: while (this.recordSet.Read()) { } ???? DbDataReader - это быстрое чтение вперед. Вот прямо строка из MSDN: Предоставляет возможность чтения потока строк только в прямом направлении из базы данных Чтобы получить возможность двигаться по набору в любом направлении, необходимо загрузить все записи в список Количество записей в наборе можно получить постфактум по длине загруженного списка или, к примеру, черех выходной параметр процедуры на SQL сервере. Вариантов несколько Вас понял. Тайного смысла в while (this.recordSet.Read()) { } нет, оставил строку, чтобы не забыть, как по набору записей двигаться. =) И забыл удалить. Теперь исправил удалением этой строки - все норм. Загрузить набор записей в список - это как (листинг)? И есть ли в этом смысл если FbDataRreader работает быстро (быстрее прочих вариантов?), как Вы сказали? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 17:50 |
|
FBDataReader показывает, что в наборе записей есть строки, но не проходит по ним
|
|||
---|---|---|---|
#18+
КириллНИ есть ли в этом смысл если FbDataRreader работает быстро (быстрее прочих вариантов?), как Вы сказали? Вы внимательнее читайте, что я пишу. Иные варианты я не упоминал. Хотя действительно, это самый быстрый вариант. Но для вас других вариантов просто-напросто нет. Ели вы отображаете в гриде полученные записи, то предварительно эти записи все равно загружаются в список. А грузить на клиента записи, чтобы агрегировать какие-либо значения - просто бессмысленно. Это работа СУБД. листинг - это примерно так: Код: 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. 25. 26. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 18:22 |
|
|
start [/forum/topic.php?fid=20&tid=1405275]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 317ms |
total: | 460ms |
0 / 0 |