Автор Тема: непонятный глюк ADO Recordset ?!?!?  (Прочитано 4278 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dmitry25600

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
непонятный глюк ADO Recordset ?!?!?
« : 10 Августа 2002, 19:28:22 »
Значит так:
sql = "select * from table1 where k = 1"
set rs = server.CreateObject("ADODB.Recordset")
set rs = connection.execute(sql)

Значения получены нормально и большинство можно вывести:
response.write(rs_prod.Fields("targetph"))
...
но на некоторой записи:
response.write(rs_prod.Fields("some_name"))
НИЧЕГО НЕ ВОЗВРАЩАЕТ!!!
И так все записи после этой. При этом никаких ошибок сервер не возвращает.

Что это такое и как с этим бороться?

Оффлайн .:cRaw:.

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 96
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
непонятный глюк ADO Recordset ?!?!?
« Ответ #1 : 11 Августа 2002, 19:52:50 »
слишком мало информации чтобы чтото сказать... нужно пробовать.

Оффлайн Dmitry25600

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
непонятный глюк ADO Recordset ?!?!?
« Ответ #2 : 12 Августа 2002, 18:11:52 »
Вот и мне ее что-то маловато :)
проблема так и осталась...
Похоже, что при большом кол-ве полей в записи происходит какой-то сбой в ADO.
Нулевые значения отпадают. Неправильные имена полей тоже.

Обойти проблему можно переписав результат запроса в массив перед обработкой значений.

Но чертовски интересно было бы знать суть проблемы.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
непонятный глюк ADO Recordset ?!?!?
« Ответ #3 : 15 Августа 2002, 12:18:19 »
У меня была такая же фигня. Пришлось отказаться от полного вывода записей в пользу постраничного. Кстати, тебе браузер при этом говорит, что сервер закрыл соединение?
•••Jah\'d never let us down!•••

Оффлайн vlad

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 46
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.deltacom.co.il
непонятный глюк ADO Recordset ?!?!?
« Ответ #4 : 27 Августа 2002, 02:29:54 »
1) Уберём хеширование в ADO:
    \'   по запиям идём только вперёд - и нет хешировния
     rs_prod.CursorType = adOpenForwardOnly  

 2)  конфигурируем курсор :
    \'  назначение клиентного курсора ( быстрый сброс данных с удалённой базы данных ) - предпочтительно для Access
     rs_prod.CursorLocation = adUseClient
 
- работаем базой в темпе вальса ( предпочтительно для Oracle )
    rs_prod.CursorLocation = adUseServer

3) корректный вывод:

    response.write server.HTMLEncode("" & rs_prod.Fields("some_name"))

Не надо указывать скобки при вызове функции VBScript без возвратного значения.

4) Если у тебя скрипрт будет долго работать указывай Server.ScriptTimeout = 60
( время - в секундах ) и не забудь убрать буферизацию Response.Buffer = 0

 


Ну и на закуску - укажи в начале скрипта какой ADO используешь :

<%@Language = VBScript %>


Успехов тебе.
« Последнее редактирование: 27 Августа 2002, 02:37:09 от vlad »

ВВЕДИТЕ СВОЕ ИМЯ

  • Гость
непонятный глюк ADO Recordset ?!?!?
« Ответ #5 : 01 Сентября 2002, 18:50:58 »
Xander ничего он мне не говорит, нормально все воспринимает. Просто некое значение не выводится да и все. :)

ВВЕДИТЕ СВОЕ ИМЯ

  • Гость
непонятный глюк ADO Recordset ?!?!?
« Ответ #6 : 01 Сентября 2002, 18:53:02 »
vlad
Тут курсор врядли поможет. Проблема остается даже если запись одна! А обращаться к полям только последовательно я не имею возможности, вот и пришлось перегнать в массив.

Оффлайн NAS

  • Неопытный юзер
  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2951
  • +1/-0
  • 1
    • Просмотр профиля
    • http://nhouse.ru
непонятный глюк ADO Recordset ?!?!?
« Ответ #7 : 02 Сентября 2002, 09:33:24 »
А свой НИК ввести слабо ???

 

Sitemap 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