Показать сообщение отдельно
  #1 (permalink)  
Старый 14.11.2013, 10:58
Mel Mel вне форума
Аспирант
Отправить личное сообщение для Mel Посмотреть профиль Найти все сообщения от Mel
 
Регистрация: 24.02.2012
Сообщений: 33

SQLite и Javascript
Поиском не нашел. Может, не те вопросы задавал поиску.
Суть проблемы в следующем: имеется HTA, который обращается к локальной SQLite базе через ODBC.
Имеем функцию, выдающую данные из Recordset по запросу.

База открыта, соединение установлено. Обращаемся к первой записи. При первом вызове всё прекрасно, при втором ошибка «Произошла ошибка во время выполнения многошаговой операции».

Ради эксперимента сделал alert содержимого, полученного запросом, затем присвоение. В результате уже при первом запросе alert показывает всё, а присвоение уже выдаёт ошибку.

То есть, при повторном обращении к одному и тому же Recordset'у получение значения поля вызывает ошибку.

Подскажите, где можно накопать на эту тему внятных объяснений.

Для проверки можно использовать базу данных Skype. Строка соединения:
Код:
DRIVER=SQLite3 ODBC Driver;Database=<путь до базы данных Skype>main.db;LongNames=0;Timeout=1000;NoTXN=0;
SyncPragma=NORMAL;StepAPI=0;
Открываем таблицу контактов:
Код:
select * from Contacts
Прочитайте два раза подряд содержимое поля «skypename» первой записи.

При этом поля «id», «is_permanent» и «type» читаются. Получается, такая проблема возникает при чтении только текстовых полей.
Ответить с цитированием