Beruflich Dokumente
Kultur Dokumente
BackupExecute(Sender: TObject);
var
temp_dir : string;
f:textfile;
n_drive,n2_drive,temp_command,command_encrypt,temp_tgl : string;
begin
if dmDatabase.ShowKonfirmasi('Data akan di-backup ?')=mrYes then
begin
//rawat := 1;
temp_tgl := IntToStr(DayOf(date))+IntToStr(MonthOf(date))
+IntToStr(YearOf(date));
if not DirectoryExists(path_backup) then
begin
temp_dir := path_backup;
mkdir(temp_dir);
end;
if not DirectoryExists(path_backup+'\'+temp_tgl) then
begin
temp_dir := path_backup + '\' +temp_tgl;
mkdir(temp_dir);
end;
temp_command := 'mysqldump --user='+udmDatabase.strUser+'
--password='+
udmDatabase.strPass+' --no-data --database anda >
'+path_backup+'\'+temp_tgl+'\'+temp_tgl+'.sql';
AssignFile(f,'c:\backup.bat');
rewrite(f);
writeln(f,'c:');
writeln(f,'cd '+path_mysql);
writeln(f,temp_command);
closefile(f);
winexec(pChar('c:/backup.bat'),sw_show);
// Application.Terminate;
end;
end;
Memo1.Lines.SaveToFile(SaveDialog1.FileName) messagedlg('DATABASE
EXPORTED TO sid FILE',mtinformation,[mbok],0);
ZConnection1.Disconnect;
end;
procedure Tf_back_import.buat_table(nama_table:string); var key:string; kolom,i:integer;
type_tanggal: array [0..10000]of string; begin with ZQuery1 do begin close;
sql.Text:='show keys from `'+nama_table+'`'; open; key:=fields[0].AsString; close;
sql.Text:='show columns from `'+nama_table+'`'; open; kolom:=recordcount; first;
HASILNYA:=HASILNYA+'CREATE TABLE `'+nama_table+'` ('; while not eof do
begin HASILNYA:=HASILNYA+chr(13);
HASILNYA:=HASILNYA+'`'+fields[0].asstring+'` '+fields[1].asstring; {cek jika null
atau tidak} if fields[2].AsString='' then HASILNYA:=HASILNYA+' NOT NULL ';
{TAMBAHKAN DEFAULT JIKA BUKAN TYPE text} if fields[1].AsString<>'text'then
begin if (fields[4].AsString='') then begin if fields[2].AsString='' then
HASILNYA:=HASILNYA+' Default '+'''''' else HASILNYA:=HASILNYA+' Default
NULL' end else HASILNYA:=HASILNYA+' Default '''+fields[4].AsString+''''; end; {jika
terakhir kali maka kosong aja jika tidak kasih koma} if RecNo<>RecordCount then
HASILNYA:=HASILNYA+','; Next; end; HASILNYA:=HASILNYA+');';
HASILNYA:=HASILNYA+chr(13); {tambahkan key jika ada} close; sql.Text:='show
keys from `'+nama_table+'`'; open; if recordcount<>0 then begin
HASILNYA:=HASILNYA+'ALTER TABLE '+nama_table+' ADD PRIMARY KEY (';
while not eof do begin {tambahkan index jika ada}
HASILNYA:=HASILNYA+'`'+Fields[4].AsString+'`'; if RecNo<>RecordCount then
HASILNYA:=HASILNYA+','; Next; end; HASILNYA:=HASILNYA+');'; end;
HASILNYA:=HASILNYA+chr(13)+chr(13); f_utama.detail.Close;
f_utama.detail.sql.Text:='show columns from `'+nama_table+'`'; f_utama.detail.Open;
f_utama.detail.First; i:=1; while not f_utama.detail.Eof do begin type_tanggal[i1]:=f_utama.detail.Fields[1].AsString; i:=i+1; f_utama.detail.Next; end; {input data}
close; sql.Text:='select * from '+nama_table+''; open; first; while not eof do begin
HASILNYA:=HASILNYA+'INSERT INTO '+nama_table+' VALUES ('; for i:=1 to
kolom do begin if type_tanggal[i-1] = 'date' then
HASILNYA:=HASILNYA+'"'+formatdatetime('yyyy-mm-dd',Fields[i-1].asdatetime)+'"'
else HASILNYA:=HASILNYA+'"'+Fields[i-1].AsString+'"'; if i<>kolom then
HASILNYA:=HASILNYA+','; end; HASILNYA:=HASILNYA+');';
HASILNYA:=HASILNYA+chr(13)+chr(13); Next; end; end; end;