unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IBQuery, DB, IBCustomDataSet, IBTable, StdCtrls, IBDatabase;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
DB: TIBDatabase;
Transaction: TIBTransaction;
Table: TIBTable;
Query: TIBQuery;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure WriteDataSetToCSV(DataSet: TDataSet; FileName: String);
var
List: TStringList;
S: String;
i: Integer;
begin
List := TStringList.Create;
try
DataSet.First;
while not DataSet.Eof do
begin
S := '';
for i := 0 to DataSet.FieldCount - 1 do
begin
if S > '' then
S := S + ',';
S := S + '"' + DataSet.Fields[i].AsString + '"';
end;
List.Add(S);
DataSet.Next;
end;
finally
List.SaveToFile(FileName);
List.Free;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DB.Params.Clear;
DB.Params.Add('User_Name=SYSDBA');
DB.Params.Add('Password=masterkey');
DB.Connected := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table.Open;
WriteDataSetToCSV(Table, 'Table.csv');
Table.Close;
ShowMessage('Archivo CSV Generado');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
with Query do
begin
SQL.Clear;
SQL.Text := 'Select * from EMPLOYEE';
Open;
WriteDataSetToCSV(Query, 'Query.csv');
Close;
ShowMessage('Archivo CSV Generado');
end;
end;
end.