Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Хочу сделать запрос к dbf (число прочтений - 3563 )
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Хочу сделать запрос к dbf
03. Апреля 2008 :: 12:50
Печать  
Хочу сделать запрос с помощью 1cpp к файлу который не относиться к базе 1С. Подскажите что для этого нужно.  Какой драйвер поставить (+если можно ссылку). и пример подключения.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #1 - 03. Апреля 2008 :: 12:52
Печать  
Все написано в руководстве - в частности в примере (можно не цитировать).
В качестве каталога укажи не КаталогИБ(), а свой каталог.
  
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #2 - 03. Апреля 2008 :: 12:55
Печать  
а драйвер фокса? в руководстве написано что его нужно поставить, а ссылка не работает
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #3 - 03. Апреля 2008 :: 12:57
Печать  
  
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #4 - 03. Апреля 2008 :: 13:04
Печать  
Ну я понял так
Код
Выбрать все
RS = СоздатьОбъект("ODBCRecordset");
	ODBC = СоздатьОбъект("ODBCDataBase");
	ODBC.Соединение()
	RS.УстБД(ODBC); 


что в соединении писать если мне нужен только dbf, и так понял что там зависит от драйвера
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #5 - 03. Апреля 2008 :: 13:05
Печать  
Для DBF версии рекомендуется использовать объект “ OLEDBData”(для версии 1С++ 2.0.0.0 и выше) следующим образом:

        База = СоздатьОбъект("OLEDBData");

        Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=MACHINE;DSN=""";

        Рез = База.Соединение(Соединение);

        Запрос = База.СоздатьКоманду();

  
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #6 - 03. Апреля 2008 :: 13:12
Печать  
спасибо за дрова щас попробую. а в документации я это читал, просто как-то не сталкивался, вот и спрашиваю на всяк случай.
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #7 - 03. Апреля 2008 :: 13:15
Печать  
если бы читал внимательно - то и правильно бы понял. Вроде черным по белому написано
  
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #8 - 03. Апреля 2008 :: 14:27
Печать  
Рез = База.Соединение(Соединение);
{D:\1SBASES\ERT\КОЛПАКЕТОВВ_TRAN2.ERT(10)}: FAILED! IDataInitialize::GetDataSource(): Формат строки инициализации не соответствует спецификации OLE DB.
Выдает такую ошибку где найти эту строку инициализации
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #9 - 03. Апреля 2008 :: 14:31
Печать  
покажи как подключаешься
  
Наверх
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #10 - 03. Апреля 2008 :: 14:32
Печать  
Код
Выбрать все
База = СоздатьОбъект("OLEDBData");
	Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=MACHINE;DSN=""";
	Рез = База.Соединение(Соединение); 

  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: Хочу сделать запрос к dbf
Ответ #11 - 04. Апреля 2008 :: 07:43
Печать  
NickAn писал(а) 03. Апреля 2008 :: 14:32:
Код
Выбрать все
База = СоздатьОбъект("OLEDBData");
	Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=MACHINE;DSN=""";
	Рез = База.Соединение(Соединение); 


Уже много раз было тут.
Убери
Deleted=Yes;
должно помочь
У SP2 не используется....
  
Наверх
 
IP записан
 
NickAn
Junior Member
**
Отсутствует



Сообщений: 69
Зарегистрирован: 08. Октября 2007
Пол: Мужской
Re: Хочу сделать запрос к dbf
Ответ #12 - 04. Апреля 2008 :: 10:54
Печать  
спасибо заработало
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать