Форум: "Базы";
Текущий архив: 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