Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.046 c
2-1188901427
Adventure
2007-09-04 14:23
2007.09.30
Опять про кодовые страницы в Paradox через DBE


2-1188705252
Aibolit
2007-09-02 07:54
2007.09.30
как закинуть в массив


3-1180375837
Zesik
2007-05-28 22:10
2007.09.30
Create table


2-1188802512
Dmitriy_
2007-09-03 10:55
2007.09.30
Как нажать на кнопку в окне браузера


2-1188479226
ANTPro
2007-08-30 17:07
2007.09.30
RTTI





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский