Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];

Вниз

Работа с DBF   Найти похожие ветки 

 
Ericman   (2002-10-17 09:16) [0]

Как брать DBF файлы из разных директорий? (Без BDE)


 
_lex_   (2002-10-17 09:30) [1]

может ADO компоненты помогут ?


 
Ericman   (2002-10-17 09:48) [2]

Через ADO пробовал
делал такой запрос: "SELECT * FROM d:\dbf\predpr.dbf"
не выходит.


 
Vlad2   (2002-10-17 09:55) [3]

можно через DSN:
SELECT *
FROM OPENROWSET("MSDASQL",
"External VFP"; "sa"; "",
"SELECT * FROM anyTable")
здесь External VFP - имя DSN

а можно указать параметры явно
SELECT * from
OPENROWSET("MSDASQL",
"Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=E:\Travel\External;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=Yes;",
"SELECT * FROM anyTable")

в обоих случаях anyTable - имя dbf файла


 
Ericman   (2002-10-17 12:05) [4]

а пример какой-нибудь можно?


 
perov   (2002-10-17 13:26) [5]

для дбф формата есть библиотеки прямого доступа, например Advantage, Halcyon (не требует никаких dll)


 
Vlad2   (2002-10-17 13:56) [6]

> Ericman
извини за паузу, меня здесь опять отвлекли. Нужно на клиенте сформировать строку для ADOConnectionDbf.ConnectionString.
ADOConnectionDbf: TADOConnection
Например, так:
ADOConnectionDbf.ConnectionString :=
"Provider=MSDASQL.1;"+
"Persist Security Info=True;"+
"Driver={Microsoft Visual FoxPro Driver};" +
"Exclusive=No;SourceType=DBF;" +
"SourceDB=" + initialCatalog;

ADOTableDbf.TableName := tableDbfName;

Здесь initialCatalog и tableDbfName соответственно путь и имя dbf файла, которые можно получить от OpenDialog. Проверено для win2000 с mdac2.5

Далее выполняешь ADOTableDbf.Open и т.д.


 
ericman   (2002-10-17 15:00) [7]

Что-то я опять не понял. Открыли мы таблицу TableDbf.Open. А где используется выше приведенный запрос?
По функции OPENROWSET() нигде не могу найти помощь.

Не делаю через Advantage потому, что не хочется зависеть от сторонних разработчиков.


 
Vovchik_A   (2002-10-17 15:03) [8]

Halcyon-ом недавно пользовался. Без БДЕ все чудесно пашет


 
Vlad2   (2002-10-17 15:21) [9]

У ADOTableDbf есть свойство ADOTableDbf.Connection. Нужно:
ADOConnectionDbf.ConnectionString := "...";
ADOTableDbf.TableName := tableDbfName;
ADOTableDbf.Connection := ADOConnectionDbf;
DataSourseDbf.DataSet := ADOTableDbf;
DBGrid.Datasourse := DataSourseDbf;
Все эти присваивания, за исключением connectionString, выполняются во время разработки, визуально.
А про OPENROWSET() забудь, это я не сразу понял вопрос.


 
sniknik   (2002-10-17 15:21) [10]

OPENROWSET() это из MSSQL, не ищи.
через ADO, сторка
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase IV;Persist Security Info=False
возможны запросы
SELECT * FROM 1SACCS //это с Data Source=D:\1SACCS.DBF возьмет
SELECT * FROM D:\Test\CARDRATE.DBF
SELECT * FROM C:\FKEYS.DBF
(Driver={Microsoft Visual FoxPro} так похоже не умеет)

Halcyon точно неплохая штучка, и исходники есть можно поправить "под себя". (правил только индексы для клипера несовпадало построение)


 
sniknik   (2002-10-17 15:29) [11]

Vlad2 (17.10.02 15:21)
Все эти присваивания, за исключением connectionString, выполняются во время разработки, визуально.

все верно но и connectionString не обязательно в рантайме присваивать можно и "визуально" в компоненте TADOConnection.

Vlad2 тут скорее имеет ввиду что тебе придется так делать чтобы путь менять, изза того что Driver Microsoft Visual FoxPro не умеет в другие места смотреть.


 
Vlad2   (2002-10-17 15:39) [12]

> sniknik
Да, да, да. Никак у меня не получалось динамически менять размещение dbf файлов, если connectionString назначать в designTime. А почему так, никто не знает.
sniknik ! Я Вам там письмо послал.


 
sniknik   (2002-10-17 16:16) [13]

не получалось возможно потому что свойство компонента ADODataset (квери) ParamCheck стоит в True. и тогда при попытке записать запрос в CommandText например
select * from C:\FKEYS.DBF
все после : (\FKEYS.DBF) будет интерпретироватся как параметр.
кстати это не только в десигн действует чтобы выполнять такие запросы (с : но без параметров) ParamCheck надо отключать!

Vlad2 я ответил.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
14-21744
AlexandrChup
2002-10-16 17:48
2002.11.07
Поиск


4-21879
nikolab6
2002-09-26 14:39
2002.11.07
Application Desktop Toolbars / SHAppBarMessage


1-21615
3d
2002-10-26 15:29
2002.11.07
Реестр


1-21620
AM
2002-10-24 19:08
2002.11.07
Как повесить обработчик на все события формы?


14-21801
Николай Быков
2002-10-11 19:46
2002.11.07
Делаю на заказ програмки абсолютно БЕСПЛАТНО





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский