Форум: "Базы";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
ВнизОткрыть XLS, как DataSet Найти похожие ветки
← →
RomanH © (2007-05-25 10:24) [0]Здраствуйте мастера, хочу импортировать xls файл, через компоненты ADO в Firebird, методом
while not ADOTable1.EOF do
begin
Блок вставки FIBQuery....
end;.
Проблема в том что ADOTable, открывается только в том случае, если для ADOTable определены потомки TFields.
То есть необходимо сделать, добл клик на компоненте ADOTable, а затем правый клик мышью-Add all fields.
Вопрос как мне создать TFields-потомков для ADOTable,программно. Спасибо.
А может другой способ открывать xls как DataSet.
← →
ЮЮ © (2007-05-25 10:29) [1]Если этого не делать, и оставить коллекцию полей ПУСТОЙ, то после ADOTable1.Open они там и так появятся.
← →
ЮЮ © (2007-05-25 10:30) [2]З.Ы. Это к То есть необходимо сделать, добл клик на компоненте ADOTable,
> а затем правый клик мышью-Add all fields.
← →
RomanH © (2007-05-25 10:36) [3]Если предварительно не создавать TFields.Получаетс\ что could not convert null into string
procedure TForm1.BitBtn2Click(Sender: TObject);
var str:string;
begin
str:="Provider MSDASQL.1;Password="";Persist Security Info=True;"+
"Data Source=Ôàéëû Excel;Mode=Read;Extended Properties="DSN=Ôàéëû Excel;"+
"DBQ=c:\price;DriverId=790;MaxBufferSize=2048;PageTimeout=5;";Initial Catalog=c:\price";
ADOTable1.Close;
ADOConnection1.Close;
ADOConnection1.ConnectionString:=str;
ADOConnection1.DefaultDatabase:="c:\price";
ADOConnection1.Connected;
ADOTable1.Open;
end;
← →
ЮЮ © (2007-05-25 10:45) [4]для того чтобы "затем правый клик мышью-Add all fields" должны быть настроены компоненты в IDE и тогда только
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ADOTable1.Open;
end;
Похоже настройки значительно отличаются, иначе бы и под IDE огреб бы по полной программе.
> could not convert null into string
А без Delphi? Может это тоько под отладчиком сказывается?
← →
Jan1 © (2007-05-25 10:52) [5]Я бы заюзал Jet.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="ПУТЬ К ФАЙЛУ";Persist Security Info=False;Extended Properties=Excel 8.0
Потом выбросил бы ADOTable, взял бы ADODataset и обрашался бы к данным так:
select * from [Page 1$]
← →
RomanH © (2007-05-25 14:05) [6]
> Jan1 ©
Спасибо это мне помогло.var str:string;
begin
str:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="c:\price.xls";Persist Security Info=False;Extended Properties=Excel 8.0";
ADOConnection1.Close;
ADOConnection1.ConnectionString:=str;
ADOConnection1.Connected;
ADODataSet1.CommandText:="select * from [Sheet 1$]";
ADODataSet1.Open;
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c