Recent Posts
Selamat datang di Coding Delphi Land Weblog kumpulan source code pemogram delphi
(Bukan maksud untuk menggurui tetapi marilah kita berbagi ilmu tuk perkembangan kemajuan teknologi kita
Minggu, 15 November 2009
Copy Table Database
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst, DB, ADODB, ComCtrls;
type
TfrmMain = class(TForm)
txtFrom: TEdit;
lblFrom: TLabel;
clbTableList: TCheckListBox;
txtTo: TEdit;
lblTo: TLabel;
btnFrom: TButton;
btnTo: TButton;
opendlgFrom: TOpenDialog;
opendlgTo: TOpenDialog;
dbFrom: TADOConnection;
dbTo: TADOConnection;
qryFrom: TADOQuery;
btnProcess: TButton;
tblInsert: TADOTable;
pbProcess: TProgressBar;
btnSelectAll: TButton;
btnDiselectAll: TButton;
memoProcess: TMemo;
procedure btnFromClick(Sender: TObject);
procedure btnToClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnProcessClick(Sender: TObject);
procedure btnSelectAllClick(Sender: TObject);
procedure btnDiselectAllClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.btnDiselectAllClick(Sender: TObject);
var
x:integer;
begin
for x:=0 to clbTableList.Items.Count-1 do
clbTableList.Checked[x] := False;
end;
procedure TfrmMain.btnFromClick(Sender: TObject);
begin
if opendlgFrom.Execute then
begin
txtFrom.Text := opendlgFrom.FileName;
//set connection to database
dbFrom.Close;
dbFrom.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+
txtFrom.Text +';Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";'+
'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
dbFrom.Open;
//Read table inside database and put in clbTableList
clbTableList.Clear;
dbFrom.GetTableNames(clbTableList.Items,false);
end;
end;
procedure TfrmMain.btnProcessClick(Sender: TObject);
var
tableListRecord,QryFromRecord,tblInsertRecord:integer;
begin
memoProcess.Clear;
for tableListRecord:=0 to clbTableList.Items.Count-1 do
begin
if clbTableList.Checked[tableListRecord] then
begin
QryFrom.Close;
QryFrom.SQL.Text := 'SELECT * FROM '+clbTableList.Items.Strings[tableListRecord];
QryFrom.Open;
tblInsert.Close;
tblInsert.TableName := clbTableList.Items.Strings[tableListRecord];
tblInsert.Open;
pbProcess.Max := QryFrom.RecordCount;
QryFrom.First;
for QryFromRecord:=1 to QryFrom.RecordCount do
begin
pbProcess.Position := QryFromRecord;
tblInsert.Append;
for tblInsertRecord:= 1 to tblInsert.Fields.Count do
begin
tblInsert.Fields[tblInsertRecord-1].AsString:=QryFrom.Fields[tblInsertRecord-1].AsString;
end;
tblInsert.Post;
QryFrom.Next;
application.ProcessMessages;
end;
clbTableList.Checked[tableListRecord]:=False;
memoProcess.Lines.Text := 'Done - '+ tblInsert.TableName +' ( '+ inttostr(tblInsert.Fields.Count)+' Row )';
end;
end;
showmessage('Proses Completed');
pbProcess.Position :=0;
end;
procedure TfrmMain.btnSelectAllClick(Sender: TObject);
var
x:integer;
begin
for x:=0 to clbTableList.Items.Count-1 do
clbTableList.Checked[x] := True;
end;
procedure TfrmMain.btnToClick(Sender: TObject);
begin
if opendlgTo.Execute then
begin
txtTo.Text := opendlgTo.FileName;
//set connection to database
dbTo.Close;
dbTo.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+
txtTo.Text +';Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";'+
'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don''t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
dbTo.Open;
end;
end;
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dbFrom.Close;
dbTo.Close;
end;
end.
0 komentar:
Posting Komentar