Вход | Регистрация

1С:Предприятие ::

Метки: 

v7: 1sqlite, insert into

Я
   Eeakie
 
31.07.18 - 20:54
Добрый вечер.
Качнул последнюю 1sqlite.dll и пытаюсь засунуть в табличку данные.

ЗагрузитьВнешнююКомпоненту("1sqlite.dll");
    БазаДанных = СоздатьОбъект("SQLiteBase");
    БазаДанных.Открыть("C:\test.db");    
    
    Попытка
        Запрос = БазаДанных.НовыйЗапрос();
        Запрос.ВыполнитьЗапрос("INSERT INTO tab(n1,n2,n3) VALUES(1,2,3)");
    Исключение
        БазаДанных.Закрыть();
        Сообщить("Не удалось выполнить запрос.", "!");
    КонецПопытки;

Запрос не выполняется.
Этот же запрос кидаю в SQLiteStudio в редактор SQL и всё нормально добавляется. Чё, блин, не так?
 
  Рекламное место пустует
   Eeakie
 
1 - 01.08.18 - 00:55
Да ладно вам. UP! :D
   strange2007
 
2 - 01.08.18 - 06:56
Падает на какой строке? Или всё отрабатывает хорошо, но в БД ничего не появляется?
   Cool_Profi
 
3 - 01.08.18 - 06:57
Никогда не используй ОписаниеОшибки()
Лучше ошибку телепатировать
   Germes
 
4 - 01.08.18 - 07:09
Вообще-то не в одинэске при работе с sqlite после запросов на изменение/добавление надо обязательно делать commit.

Может быть в этом дело?
   Salimbek
 
5 - 01.08.18 - 07:49
(0) Можно еще Закрыть() сделать и при успешном выполнении запроса, а не только при падении с ошибкой.
   Germes
 
6 - 01.08.18 - 08:03
Вот здесь есть примеры с INSERT:

Как одним запросом вставить несколько строк в таблицу SQlite

Там после INSERT делается COMMIT. А в (0) - COMMIT нет. Так что наверное в этом дело.
   strange2007
 
7 - 01.08.18 - 08:17
(6) Это не обязательно. Для одной строки абсолютно не обязательно.


У автора надо сначала выяснить, что случилось - падает в ошибку, не пишется в БД, пишется но не в ту... Тут вдь только гадать приходится
   Djelf
 
8 - 01.08.18 - 12:08
Да просто "последняя версия" не последняя.
Орефковская 1.0.2.6 такое не умеет, она на движке sqlite 3.7.10, а вставка нескольких значений как в (0) добавлена в 3.7.11
Вот последняя http://catalog.mista.ru/public/559826/ она такое умеет.


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует