Menjawab pertanyaan beberapa teman yang ingin melakukan backup ataupun restore database Sql Server, berikut ada satu buah contoh kecil yang dulu pernah saya buat bersama teman saya "Yafie Kiwul", mudah-mudahan bisa bermanfaat bagi teman-teman delphier .
Langsung ketopik buatlah sebuah form kecil seperti gambar berikut :
kemudian letakkan beberapa komponen yang diperlukan seperti :
- TAdoCommand              ganti name menjadi AdoCom
-TOpenDialog
-TSaveDialog
-TEdit                              ganti menjadi name backedit  ( untuk komponen dimenu backup)
-TEdit                              ganti menjadi name edrestore ( untuk komponen dimenu backup)
Untuk TAdoCommand silahkan isi diconnectionstringnya seperti berikut:
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=ARJUNA-PC\SQLEXPRESS
Pastikan untuk Initial Catalog mengacu ke master , serta data source disesuaikan dengan komputer masing dalam hal ini penulis mencoba dengan menggunakan Sql server Express 2005 , dan untuk versi dibawahnya penulis sudah mencoba dapat berjalan dengan baik.
selanjuytnya silahkan set property untuk TOpenDialog untuk kolom filter sesuai dengan yang teman-teman inginkan misalnya
Filter = data Backup|*.bak|All Files|*.*
Default = bak
dan untuk TSaveDialog silahkan ubah propertynya
Filter = data Backup|*.bak|All Files|*.*
Default = bak
InitialDir =C:\MyDocument
- di even formcreate ketikkan kode berikut :
  procedure TFutama.FormCreate(Sender: TObject);
  var d,m,y : word; str : String;
  begin
        DecodeDate(now,y,m,d);
        str := inttostr(d)+inttostr(m)+inttostr(y);
        backedit.Text := 'F:\NamaDatabase'+str+'.bak';
  end;
- untuk tombol Browse (di Tab Backup) ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton9Click(Sender: TObject);
  begin
         if savedata.Execute then
         begin
              backedit.Text := savedata.FileName;
        end;
  end;
- untuk tombol Browse (di Tab Restore) ketikkan kode seperti berikut :
   if opendata.Execute then
   begin
           edrestore.Text := opendata.FileName;
   end;
- selanjutnya dalam di tombol Backup tambahkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
              try
                    DeleteFile(trim(backedit.text));
              except
             end;
             try
                      CommandText := '';
                      CommandText := 'sp_dropdevice ''dataku''';
                      Execute;
            except
            end;
            CommandText := '';
            CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
            Execute;
            CommandText := '';
            CommandText := 'BACKUP DATABASE NAMA_DATABASE To dataku';
            Execute;
            CommandText := '';
            CommandText := 'sp_dropdevice dataku';
            execute;
   end;
   showmessage('Backup telah selesai!');
end;
- Sedangkan untuk proses restore ditombol restore silahkan ketikkan kode seperti berikut :
  procedure TFutama.SpeedButton7Click(Sender: TObject);
  begin
        with ADOcom do
        begin
               try
                      DeleteFile(trim(backedit.text));
              except
        end;
        try
                   CommandText := '';
                   CommandText := 'sp_dropdevice ''dataku''';
                   Execute;
       except
       end;
       CommandText := '';
       CommandText := 'exec SP_addumpdevice ''disk'',''dataku'','''+ trim(backedit.text) +'''';
       Execute;
       CommandText := '';
       CommandText := 'BACKUP DATABASE NAMADATABASE To dataku';
       Execute;
       CommandText := '';
       CommandText := 'sp_dropdevice dataku';
       execute;
   end;
   showmessage('Backup telah selesai!');
end;
mudah-mudah an contoh aplikasi kecil ini dapat menjadi salah satu referensi para delphier.

 
No comments:
Post a Comment