|
v7: Помогите с OLE._Recordset как результат получить в ТаблицаЗначений |
☑ |
0
sysadminlk
08.06.13
✎
11:31
|
Тек = CreateObject("ADODB.Recordset");
Тек.Open("SELECT * FROM `t_personal_accounts`", Соединение );
Сообщить(ТипЗначенияСтр(Тек));
|
|
1
МихаилМ
08.06.13
✎
11:34
|
|
|
2
КонецЦикла
08.06.13
✎
11:41
|
Непонятно зачем тут OLE
Делай запрос к нужной базе и все
|
|
3
sysadminlk
08.06.13
✎
11:48
|
(2) а ответ через что получать?
Пока Тек.EOF() = 0 Цикл
Сообщить(Тек.Fields(1).Value);
КонецЦикла
Только так что-ли?
|
|
4
ДенисЧ
08.06.13
✎
11:51
|
(3) да
|
|
5
sysadminlk
08.06.13
✎
11:55
|
Как-то оптимизировать этот код можно?
Сообщить("Выполняю запрос в базу сайта SELECT * FROM...");
Тек = CreateObject("ADODB.Recordset");
Тек.Open("SELECT * FROM `t_personal_accounts`", Соединение );
Сообщить("Конвертирую результат в таблицу значений.");
Пока Тек.EOF() = 0 Цикл
ТекущаяТаблицаНаСайте.НоваяСтрока();
ТекущаяТаблицаНаСайте.Строка = СокрЛП(Тек.Fields("id_client").Value);
ТекущаяТаблицаНаСайте.Лицевой = СокрЛП(Тек.Fields("accounts").Value);
ТекущаяТаблицаНаСайте.Фамилия = СокрЛП(Тек.Fields("full_name").Value);
ТекущаяТаблицаНаСайте.ВодомерХ = СокрЛП(Тек.Fields("amount_h").Value);
ТекущаяТаблицаНаСайте.ВодомерГ = СокрЛП(Тек.Fields("amount_g").Value);
Тек.MoveNext();
КонецЦикла;
Соединение.close();
Сообщить("Счетов на сайте: "+ТекущаяТаблицаНаСайте.КоличествоСтрок()+"");
|
|
6
МихаилМ
08.06.13
✎
12:19
|
можно ищите про "getrows"
обращаться к полям бд по именам не производительно: лучше по номерам.
использование * (все поля) в неотладочном запросе - плохой стиль: укажите нужные поля даже если это все поля
|
|