![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Открыть XLS, как DataSet [D7, FB 2.0]
RomanH © (2007-05-25 10:24:00)Здраствуйте мастера, хочу импортировать xls файл, через компоненты ADO в Firebird, методом
while not ADOTable1.EOF do
begin
Блок вставки FIBQuery....
end;.
Проблема в том что ADOTable, открывается только в том случае, если для ADOTable определены потомки TFields.
То есть необходимо сделать, добл клик на компоненте ADOTable, а затем правый клик мышью-Add all fields.
Вопрос как мне создать TFields-потомков для ADOTable,программно. Спасибо.
А может другой способ открывать xls как DataSet.
RomanH (2007-05-25 14:05:00) [1]
> 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;
Jan1 (2007-05-25 10:52:00) [2]Я бы заюзал Jet.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="ПУТЬ К ФАЙЛУ";Persist Security Info=False;Extended Properties=Excel 8.0
Потом выбросил бы ADOTable, взял бы ADODataset и обрашался бы к данным так:
select * from [Page 1$]
ЮЮ (2007-05-25 10:45:00) [3]для того чтобы "затем правый клик мышью-Add all fields" должны быть настроены компоненты в IDE и тогда только
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ADOTable1.Open;
end;
Похоже настройки значительно отличаются, иначе бы и под IDE огреб бы по полной программе.
> could not convert null into string
А без Delphi? Может это тоько под отладчиком сказывается?
RomanH (2007-05-25 10:36:00) [4]Если предварительно не создавать 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:30:00) [5]З.Ы. Это к То есть необходимо сделать, добл клик на компоненте ADOTable,
> а затем правый клик мышью-Add all fields.
ЮЮ (2007-05-25 10:29:00) [6]Если этого не делать, и оставить коллекцию полей ПУСТОЙ, то после ADOTable1.Open они там и так появятся.