Снегопат

Обсуждение Снегопата
Текущее время: 22 ноя 2024, 17:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 23 мар 2013, 10:20 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Сделал sqlite3.dll версии 3.7.16 с включенным полнотекстовым поиском и поддержкой ICU.
Должны корректно отрабатывать upper lower на русских символах.
Однако простой тест:
Код:
var obj = addins.byUniqueName("sqlite").object;
db = obj.OpenDatabase(":memory:")
res = obj.ExecSQL(db, "SELECT 'Test' as res union all select lower('Test') union all select 'Тест' union all select lower('Тест')")
obj.CloseDatabase(db)
res.ВыбратьСтроку()

выдает на lower('Тест') мусор.

ЗЫ: библиотека зависит от ICU 4.6 дллок, которые идут с 1С начиная с 8.2.14


Вложения:
Комментарий к файлу: моя библиотека с поддержкой ICU.
sqlite3.zip [335.83 КБ]
Скачиваний: 496
Комментарий к файлу: Скрин результата
error_sqlite.png
error_sqlite.png [ 4.58 КБ | Просмотров: 13642 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 23 мар 2013, 14:03 
Не в сети

Зарегистрирован: 04 июн 2012, 09:28
Сообщения: 343
Исправил. Также залил в репозиторий приложенную slite3.dll.

_________________
В реальності все не так, як насправді


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 25 мар 2013, 08:32 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Спасибо. Все работает.
Имхо, надо в документацию добавить, что для версий 1С ниже 14ой, надо скопировать в каталог программы файлы icu*46.dll из свежих релизов 1С.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 25 мар 2013, 08:35 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Сейчас проверил - копирование в bin не помогает, надо их положить рядом с sqlite3.dll


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 25 мар 2013, 14:42 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Не выводит NULL значения:
"EVariantTypeCastError: Could not convert variant of type (Null) into type (String)"
Приходится пока обходить через coalesce(field, 'NULL')
coalesce(field, '') - так же ругается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 26 мар 2013, 01:32 
Не в сети

Зарегистрирован: 04 июн 2012, 09:28
Сообщения: 343
Ок, на днях поправлю.

_________________
В реальності все не так, як насправді


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 26 мар 2013, 10:14 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Падает, если выполнять ExecSQL без присвоения результата переменной:
Код:
sqlite.ExecSQL(this.db, queryText)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 26 мар 2013, 15:53 
Не в сети

Зарегистрирован: 04 июн 2012, 09:28
Сообщения: 343
orefkov писал(а):
Падает, если выполнять ExecSQL без присвоения результата переменной:
Код:
sqlite.ExecSQL(this.db, queryText)

Хм.. интересно. На любом запросе падает? Там SELECT и INSERT/UPDATE/DELETE/... по-разному работают.

_________________
В реальності все не так, як насправді


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 26 мар 2013, 15:57 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Да, на любом.
А "select '' as res" пишет, что не может преобразовать Variant типа NULL в String


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Sqlite - кто тут просил?
СообщениеДобавлено: 29 мар 2013, 02:19 
Не в сети

Зарегистрирован: 04 июн 2012, 09:28
Сообщения: 343
Баг с NULL пофиксил, можно обновляться. Заодно убрал принудительное преобразование всего в строку, теперь возвращаемые значения должны иметь правильный тип.

А вот падение не могу повторить... тестирую из скрипта "Немедленное выполнение кода" - не падает, хоть как.
Можно пример, где гарантированно повторяется?

_________________
В реальності все не так, як насправді


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB