Имя: Пароль:
1C
1С v8
как получить данные из результата запроса к sqlite
,
0 mefisto666series
 
16.10.13
23:43
я смотрю в значение РезультатЗапроса = БД_ODBC.Execute(ТекстЗапроса);
и вижу там COMобъект, но нужных мне данных нет. Текст запроса выглядит элементарно, просто чтобы увидеть что все работает, а именно так: Select _ID from [_Exite_Spr_Kontragenty] where GLN = '123123123'. Когда я выполняю запрос непосредственно в sqlite утилите - данные вытягиваются. из 1с - понятия не имею...
1 Asmody
 
16.10.13
23:47
БД_ODBC это что?
2 Лефмихалыч
 
16.10.13
23:48
(1) кэп говорит, что это переменная
3 Asmody
 
16.10.13
23:50
(2) ОКАК!
4 mefisto666series
 
17.10.13
14:55
(1) БД_ODBC = Новый ComObject("ADODB.Connection");        
БД_ODBC.Open("Driver={SQLite3 ODBC Driver};Database=C:\sqlite.db;StepAPI=0;SyncPragma=NORMAL;NoTXN=0;Timeout=;ShortNames=0;LongNames=0;NoCreat=0;NoWCHAR=0;FKSupport=0;JournalMode=;OEMCP=0;LoadExt=;BigInt=0;"
для меня это пока что единственный вариант.
5 orefkov
 
17.10.13
14:59
(0)
Получать как у любого ADO результата. Примеров работы с ADO масса.
Можно еще сразу через gamewithfire.dll получить ТЗ.
6 mefisto666series
 
17.10.13
15:43
(5) не, нифига не нашел. то есть такого, чтобы РезультатЗапроса.ПолеТаблицы не бывает?
7 mefisto666series
 
17.10.13
15:44
всмысле, чтобы результат оттуда взять
8 Ёпрст
 
17.10.13
15:54
видать не искал просто
9 Ёпрст
 
17.10.13
15:56
RecordSet = Command.Execute();
Если not RecordSet.EOF() Тогда
     RecordSet.MoveFirst();
     Пока RecordSet.EOF() = 0 Цикл
            Сообщить(RecordSet.Fields.Item("Вася").Value);
            RecordSet.MoveNext();  
        КонецЦикла;
КонецЕсли;
RecordSet.Close();
10 mefisto666series
 
17.10.13
16:03
(9) искал. может, плохо. а вот в этом примере: (9) Command - этшто?
11 Ёпрст
 
17.10.13
16:05
угадай
12 mefisto666series
 
17.10.13
16:20
(11) ладно, ладно. ему (1) , значит, можно, а мне нельзя
13 Sabbath
 
17.10.13
16:26
(10) то что у тебя БД_ODBC
14 Ёпрст
 
17.10.13
16:27
(12)
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = БД_ODBC;
15 Sabbath
 
17.10.13
16:33
(0) Как-то так
Записи = БД_ODBC.Execute(ТекстЗапроса);

Пока Записи.EOF() = 0 Цикл
            
    // тут засовываешь куда-то
    // СокрЛП(Записи.Fields("ИмяТвоегоПоля").Value)
            
    Записи.MoveNext();
            
КонецЦикла;    
        
БД_ODBC.Close();