Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Как организовать выборку из БД ПАРАДОКС в 1с82 ? / 21 сообщений из 21, страница 1 из 1
30.03.2012, 14:04
    #37731381
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
Пытаюсь выбрать из БД ПАРАДОКС в 1с82:

БД = Новый ComObject("ADODB.Connection");
ПутьБД="c:\data";
Если БД.Open("Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 4.X;DefaultDir="+ПутьБД+";Dbq="+ПутьБД+";CollatingSequence=ASCII")= 0 Тогда
Сообщить("Ошибка....");
Возврат;
КонецЕсли;
ТекстЗапроса = "SELECT COMMENT FROM m1503_12";

rs = Новый COMОбъект("ADODB.Recordset");
rs.Open(ТекстЗапроса, БД);

Курсор в отладчике добросовестно доползает до конца
Что делать дальше ?
Как передать в 1с ?
Где почитать про синтаксис ADODB ?
(гуглю - всё для пхп)
...
Рейтинг: 0 / 0
30.03.2012, 14:09
    #37731397
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
gnus, как то так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
	Пока не ЗаписьНастроек.Eof() Цикл 
		
		КодТовара = СокрЛП(Строка(ЗаписьНастроек.Fields("КодТов").Value));
		ЦенаПрод = Число(ЗаписьНастроек.Fields("ЦенаПр").Value);
		ПроцентТов = Число(ЗаписьНастроек.Fields("Процент").Value);			
		ЗаписьНастроек.MoveNext();

	КонецЦикла;
	ЗаписьНастроек.Close();
...
Рейтинг: 0 / 0
30.03.2012, 14:12
    #37731404
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
Переменная не определена (ЗаписьНастроек)
Пока не <<?>>ЗаписьНастроек.EOF() Цикл (Проверка: Толстый клиент (обычное приложение))
...
Рейтинг: 0 / 0
30.03.2012, 14:13
    #37731408
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
И посоветуйте пожалуйста, гле взять документацию
по Ctrl-F1 её ведь нет
...
Рейтинг: 0 / 0
30.03.2012, 14:14
    #37731413
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
DmitriyZ,
какое значение присвоить переменной "ЗаписьНастроек" ?
...
Рейтинг: 0 / 0
30.03.2012, 14:17
    #37731418
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
gnus, в вашем случае, это будет не "ЗаписьНастроект" , а rs. Мы выборку в цикле обходим! Документация по ADODB на MSDN есть, да и вообще, полно в нете гуглите.
...
Рейтинг: 0 / 0
30.03.2012, 14:22
    #37731435
dvim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
Как делал я (код для 77 правда)
Работает

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
	СтрокаСТР2= "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Z:\RainbowPlus\Tables\; Extended 	ДанныеПтичника = СоздатьОбъект("ADODB.Connection"); 	
	ДанныеПтичника.Open(СтрокаСТР2);
ВнешнийЗапрос = СоздатьОбъект("ADODB.RecordSet"); 
ВнешнийЗапрос.Open ("Select * From EggRowTierTable_OR_PL_v00_"+Строка(Птичник)+ " where StartTime >0   and (Dateindays+0) = "+ Строка(числоДЗ)  ,ДанныеПтичника,0,2); 

Если  ВнешнийЗапрос.EOF = 0 Тогда
       Сообщить (ВнешнийЗапрос.Fields("Value" + Строка(Батарея)  + "_" + Строка(Ярус) + "L").Value())     ;                                                                                      
	КонецЦикла;
...
Рейтинг: 0 / 0
30.03.2012, 14:24
    #37731440
dvim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
ВнешнийЗапрос.Fields("имя столбца ") - Это то что вам нужно.
Далее можете заполнять этими значениями ТабЗнач и работать , "по 1С-совски"
...
Рейтинг: 0 / 0
05.04.2012, 15:19
    #37740428
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
просьба посоветовать, в какой визуаль-среде разработки посмотреть синтаксис adodb с подсветкой , хелпом и примерами
...
Рейтинг: 0 / 0
05.04.2012, 16:10
    #37740560
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
...
БД = Новый ComObject("ADODB.Connection");
БД.CursorLocation = 3; (курсор на стороне пользователя).
...

Перед ободом цикла проверьте, вернул ли запрос вообще что-то.
rs.Open(ТекстЗапроса, БД);
rs.RecordCount()


Обход результата
rs.MoveFirst()

Пока rs.EOF Цикл

значение_поля = rs.Fields("Имя_Поля").Value;

КонецЦикла;

P.S.
А зачем гуглить "всё для пхп, если нужен ADODB".... ?
...
Рейтинг: 0 / 0
05.04.2012, 16:55
    #37740659
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
gnusпросьба посоветовать, в какой визуаль-среде разработки посмотреть синтаксис adodb с подсветкой , хелпом и примерами ADODB - это микросовтовская технология. Примеры и документация находятся в MSDN.
...
Рейтинг: 0 / 0
06.04.2012, 11:50
    #37741656
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
С выводом получилось.
Подскажите пожалуйста, а как победить кодировку ?
В 1С только кодировкаXBASE ?
...
Рейтинг: 0 / 0
06.04.2012, 12:16
    #37741708
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
Что такое кодировка XBASE?

Кодировка выставляется в параметрах(строке) подключения.
...
Рейтинг: 0 / 0
06.04.2012, 12:34
    #37741750
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
The Dim!,

кодировкаXBASE ей я преобразовывал из дбфников

скажите пожалуйста, а где посмотреть это для драйвера Борланд ?
...
Рейтинг: 0 / 0
06.04.2012, 13:03
    #37741815
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
gnusкодировкаXBASE ей я преобразовывал из дбфников...ужас...

дбф-ник - это вообще-то просто расширение файла. Это расширение используется в десятке форматов баз данных.

А вы не пробовали перед тем как что-то делать, прочесть документацию, "ДО" а не "во время".
Выдержка из справочной системы 1С 8.2.
Код: sql
1.
2.
XBase
Для работы с базами данных формата DBF (dBase III) в системе может использоваться специальный объект - XBase.

Это не "кодировка", а средство доступа к данным...

gnusскажите пожалуйста, а где посмотреть это для драйвера Борланд ?Боюсь показаться банальным, но в соотвествующей документации или, хотя-бы, в визуальных средах, самое простое это настроить системный или пользовательский DSN.
Хотя, скорее всего, и это ничего не даст. Т.е. уж слишком старый формат. С которым лучше работать через BDE или писать парсер/конвертор.
По-моему, это указывает кодировку DriverID=538.
...
Рейтинг: 0 / 0
06.04.2012, 15:40
    #37742166
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
The Dim!,
кодировкаXBASE
я имел ввиду синтаксис 1с82
...
Рейтинг: 0 / 0
09.04.2012, 18:19
    #37745625
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
DmitriyZ,
а печатный ман/автора по этой теме не посоветуете ?
...
Рейтинг: 0 / 0
10.04.2012, 06:53
    #37746104
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
Пытаюсь прочитать и записать в регистры сведений записи всех таблиц, содержащихся
в каталоге файлов базы данных

Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.
МассивНайденых=НайтиФайлы("C:\data","*.db");
Для Каждого Файл Из МассивНайденых Цикл
Сообщить(Файл.Имя);
ИмяФайла=Файл.Имя;
Если Лев((ИмяФайла),1)="D" Тогда


//**********************************************************
//**********************************************************


БД = Новый ComObject("ADODB.Connection");
БД.CursorLocation=3;
ПутьБД="c:\data";

Если БД.Open("Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 4.X;DefaultDir="+ПутьБД+";Dbq="+ПутьБД+";CollatingSequence=OEM")= 0 Тогда
Сообщить("Ошибка....");
Возврат;
КонецЕсли;
ИмяФайла=Лев((ИмяФайла),8);

ТекстЗапроса = "SELECT CARD,Event,Time FROM ИмяФайла";

rs = Новый COMОбъект("ADODB.Recordset");

rs.Open(ТекстЗапроса, БД);
rs.MoveFirst();
НомерСобытия=0;
Пока НЕ rs.EOF() Цикл
НомерСобытия=НомерСобытия+1;
События=РегистрыСведений.События.СоздатьМенеджерЗаписи();
События.НомерСобытия=НомерСобытия;
События.НомерКарты=(Rs.Fields("CARD").Value);
События.Событие=(Rs.Fields("Event").Value);
События.Время=Прав((Rs.Fields("TIME").Value),8);


rs.MoveNext();
События.Записать();
//rs.MoveNext();



КонецЦикла;
rs.Close();
//ДБФ.Добавить();









//***************************************************************
//**********************************************************




КонецЕсли;

КонецЦикла;

КонецПроцедуры





ВЫДАЁТ ОШИБКУ:
{Форма.Форма.Форма(29)}: Ошибка при вызове метода контекста (Open)
rs.Open(ТекстЗапроса, БД);
по причине:
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Драйвер ODBC Paradox] Объект 'ИмяФайла' не найден ядром базы данных Microsoft Jet. Проверьте существование объекта и правильность имени и пути.

В отладчике содержание переменной "ИмяФайла" соответствует имени таблицы БД
Как это можно разрешить ?
...
Рейтинг: 0 / 0
10.04.2012, 07:04
    #37746106
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
т.е. как передать в текст запроса имя таблицы ?
...
Рейтинг: 0 / 0
10.04.2012, 09:32
    #37746179
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
Ну может как-то так...
ТекстЗапроса = "SELECT CARD,Event,Time FROM " + ИмяФайла ;
...
Рейтинг: 0 / 0
10.04.2012, 09:50
    #37746209
gnus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как организовать выборку из БД ПАРАДОКС в 1с82 ?
The Dim!,
благодарю
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Как организовать выборку из БД ПАРАДОКС в 1с82 ? / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]