معلم دلفی

شنبه، بهمن ۰۸، ۱۳۸۴

تهیه نسخه پشتیبان از بانک اطلاعاتی

How could we get backup from our SQL Server in Delphi?

تهیه بک آپ یا نسخه پشتیبان از بانک اطلاعاتی در دوره های زمانی خاض یکی از مهمترین بخشهای یک برنامه بانک اطلاعاتی است. یکی از بانکهای اطلاعاتی که در دلفی زیاد استفاده میشه SQL Server است که سورس زیر به شما کمک م یکنه تا بتونید از درون برنامه دلفی از بانک اطلاعاتی خودتان بک آپ بگیرید.



function ConvertListItemsToMultiString(Items: TListItems; var S: String):
Integer;
var
I: Integer;
begin
Result := 0;
S := '';
for I := 0 to Pred(Items.Count) do
if Items[I].Checked then
begin
S := Format('%s[%s]', [S, Items[I].Caption]);
Inc(Result);
end;
end;


procedure DoBackup(MainForm: TForm1; TheDlgForm: TBackupDlgForm);
var
S: String;
BackupObj: SQLDMO_TLB.Backup;
begin
BackupObj := CreateOleObject('SQLDMO.Backup') as SQLDMO_TLB.Backup;
try
with TheDlgForm do
begin
// --- mandatory backup object properties for all types of backup -
--
// Database to backup
with DatabaseCombo do BackupObj.Database := Items[ItemIndex];
// Backup Media selection
if ConvertListItemsToMultiString(BackupDevicesListView.Items, S) >
0 then
case DestinationCombo.ItemIndex of
0: // Files
BackupObj.Files := S;
1: // Backup Devices
BackupObj.Devices := S;
2: // Tapes
BackupObj.Tapes := S;
3: // Pipes
BackupObj.Pipes := S;
end;
// --- mandatory backup object properties for complete database,
transaction log, differential, and specific files backups ---
// Backup Action
BackupObj.Action := GetBackupRestoreAction([FullBackupButton,
DiffBackupButton, TransactionLogBackupButton, FileGroupBackupButton]);
// --- optional backup object properties for all types of backup --
-
// Backup Name
S := Trim(NameEdit.Text);
if Length(S) > 0 then BackupObj.BackupSetName := S;
// Backup Description
S := Trim(DescriptionEdit.Text);
if Length(S) > 0 then BackupObj.BackupSetDescription := S;
// Media name
// Media description
S := Trim(MediaDescriptionMemo.Text);
if Length(S) > 0 then
BackupObj.MediaDescription := S;
with MediaNameEdit do
if Visible then
begin
S := Trim(Text);
if Length(S) > 0 then
BackupObj.MediaName := S;
end;
// Backup Expiration Date or Retention Days
if OnDateRadioButton.Checked and (DateEdit1.Date <> 0) then
BackupObj.ExpirationDate := FormatDateTime('yyyymmdd',
DateEdit1.Date);
if AfterDaysRadioButton.Checked then
BackupObj.RetainDays := StrToInt(AfterDaysEdit.Text);
// Misc
BackupObj.BlockSize := StrToInt(BlockSizeEdit.Text);
BackupObj.FormatMedia := FormatCheckBox.Checked;
BackupObj.Initialize := InitializeCheckBox.Checked;
BackupObj.PercentCompleteNotification :=
Trunc(PercentCompleteNotification.Value);
BackupObj.Restart := RestartCheckBox.Checked;
BackupObj.SkipTapeHeader := SkipTapeHeaderCheckBox.Checked;
with TransactionLogCombo do
BackupObj.TruncateLog := Integer(Items.Objects[ItemIndex]);
BackupObj.UnloadTapeAfter := UnloadTapeCheckBox.Checked;
// do backup
with TBackupEventSink.Create(BackupObj) do // create event object
try
BackupObj.SQLBackup(MainForm.Server);
finally
Free; // this ASSUMES that the SQLBackup method is synchronous
end;
BackupObj := nil;
end;
except
BackupObj := nil;
raise;
end;
end;

شنبه، دی ۱۷، ۱۳۸۴

برنامه نويسی بانکهای اطلاعاتی در دلفی 7

در اين کتاب برنامه نويسان دلفی و کايليکس جديدترين فن آوری دستيابی بانک های اطلاعاتی بورلند(dbExpress) را می آموزند. اين کتاب عناوينی از قبيل تنظيم يک بانک اطلاعاتی برای برنامه های بانک اطلاعاتی يک يا چند رديفی را دربرمی گيرد. در اين کتاب قطعه کدهای بسيار و برنامه های نمونه کوچکی همراه مفاهيم ارائه شده است.

لینک خرید کتاب برنامه نویسی بانکهای اطلاعاتی دلفی 7
نويسنده: اريک هالمن
ناشر: تخت سليمان
قيمت ريالی: 45000