تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أفضل مثال في عمل النسخة الاحتياطية باقي له خطوة بس ويكتمل
#3
تفضل هذا الكود الخاص بالزرين النسخ الاحتياطي + ضغط الملف و زر الاستعادة مع فك الضغط وحذف ملف قاعدة البيانات القديمة ووضع القاعدة المستعادة مكانها .
ملاحظة : تم الاستغناء عن الليست بوكس ووضع كود اوبن فايل دايلوغ للاستعادة .
موفق انشاء الله .

PHP كود :
   Private Sub BtnRestore_Click(sender As ObjectAs EventArgsHandles BtnRestore.Click
        If MsgBox
("هل تريد عمل نسخة احتياطية قبل عملية الاستعادة"MsgBoxStyle.YesNo MsgBoxStyle.MsgBoxRight MsgBoxStyle.MsgBoxRtlReading"استعادة نسخة احتياطية") = MsgBoxResult.Yes Then
            If Label1
.Text.Length 0 Then
                Button1
.PerformClick()
 
           End If
 
           BtnBackup.PerformClick()
 
       End If

 
       Dim data As String "data11.mdb"
 
       Dim mdbnew As String ""
 
       If File.Exists(dataThen
            File
.Delete(data)
 
       End If
 
       Dim opfd As New OpenFileDialog
        opfd
.Filter "Zip File *.Zip|*.Zip"
 
       If opfd.ShowDialog System.Windows.Forms.DialogResult.OK Then
            Using zip 
As ZipFile ZipFile.Read(opfd.FileName)
 
               zip.ExtractAll(Application.StartupPath'zip_entry.Extract'
 
           End Using
            mdbnew 
opfd.SafeFileName
            mdbnew 
mdbnew.Replace("zip""Mol")
 
           My.Computer.FileSystem.RenameFile(Application.StartupPath "\" & mdbnew, "data11.mdb")
        End If
        MessageBox.Show("
تم إستعادة النسخة الاحتياطية  بنجاح", "تم", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub
    Private Sub BtnBackup_Click(sender As Object, e As EventArgs) Handles BtnBackup.Click
        If IO.Directory.Exists(Label1.Text + "
\data11.mdb") = False Then
            IO.Directory.CreateDirectory(Label1.Text)
        End If
        If IO.File.Exists(Application.StartupPath & "
\Compact_data11.mdb") Then
            IO.File.Delete(Application.StartupPath & "
\Compact_data11.mdb")
        End If
        Dim Engine
        Engine = CreateObject("
JRO.JetEngine")
        Engine.CompactDatabase("
provider=microsoft.Jet.oledb.4.0;data source=" & Application.StartupPath & "\data11.mdb;user id=admin;jet oledb:database password=343282",
                               "
provider=microsoft.Jet.oledb.4.0;data source=" & Application.StartupPath & "\Compact_data11.mdb;user id=admin;jet oledb:database password=343282")
        Dim DBFilename, NewFileName As String
        DBFilename = Application.StartupPath & "
\Compact_data11.mdb"
        NewFileName = Label1.Text + "
\data11.mdb"
        NewFileName = "
data11" & Now.ToString("@yyyy-MM-dd@HH-mm-ss") & ".Mol"
        NewFileName = Label1.Text + "
\data11" & Now.ToString("(yyyy-MM-dd) (HH-mm-ss)") & ".Mol"
        Dim sr As New IO.FileStream(DBFilename, IO.FileMode.Open) 'source file'
        Dim sw As New IO.FileStream(NewFileName, IO.FileMode.Create) 'target file, defaults overwrite'
        Dim len As Long = sr.Length - 1
        ProgressBar1.Visible = True
        For i As Long = 0 To len
            sw.WriteByte(sr.ReadByte)
            If i Mod 1000 = 0 Then
                ProgressBar1.Value = i * 100 / len
                Application.DoEvents()
                Label6.Text = ProgressBar1.Value & "
تمّت عمليّة ضغط قاعدة البيانات "
            End If
        Next
        ProgressBar1.Value = 0
        ProgressBar1.Visible = False
        sr.Close()
        ' كود معرفة حجم قاعدة البيانات بعد ضغطها'
        Dim sc As New IO.FileStream(Application.StartupPath & "
\data11.mdb", FileMode.Open)
        Dim x As String
        x = sc.Length / 1024
        sc.Close()
        'كود حذف قاعدة البيانات القديمة'
        IO.File.Delete(Application.StartupPath & "
\data11.mdb")
        'كود اعادة تسمية قاعدة البيانات التي تم ضغطها واصلاحها'
        My.Computer.FileSystem.RenameFile(Application.StartupPath & "
\Compact_data11.mdb", "data11.mdb")
        Label5.Text = x & " 
 " & " ك.ب "
        Label8.Text = sw.Length / 1024 & " 
ك.ب "
        Label6.Text = ""
        Label7.Text = NewFileName
        Label2.Text = Now.ToString("
(yyyy-MM-dd) (H H-mm-ss)")
        Dim Open As New OpenFileDialog
        Dim dir As New DirectoryInfo(Label1.Text)
        Control.CheckForIllegalCrossThreadCalls = False
        If b.IsBusy = False Then
            b.RunWorkerAsync()
        End If
        Using zip As ZipFile = New ZipFile(Label1.Text & "
\data11" & Now.ToString("(yyyy-MM-dd) (HH-mm-ss)") & ".zip")
            ' Add the file to the Zip archive's root folder.'
            zip.AddFile(NewFileName, "")
            ' Save the Zip file.
            zip.Save()
        End Using
        MsgBox("
تم ضغط واصلاح ونسخ قاعدة البيانات بنجاح " & vbCrLf & vbCrLf & NewFileName & "   مكان نسخ القاعدة" & vbCrLf & "حجم قاعدة البيانات قبل الضغط  " & x & " ك.ب " & vbCrLf & "حجم قاعدة البيانات بعد الضغط   " & sw.Length / 1024 & " ك.ب ", 64 + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.MsgBoxRtlReading, "النّسخ الإحتياطي")
        sr.Close()
        sw.Close()
        System.IO.File.Delete(NewFileName)
    End Sub 
الرد }}}


الردود في هذا الموضوع
RE: أفضل مثال في عمل النسخة الاحتياطية باقي له خطوة بس ويكتمل - بواسطة asemshahen5 - 25-07-20, 10:01 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] يوجد مثال|كيف نعيد صياغة نص ليكون تاريخ مقبول justforit 7 301 01-11-25, 10:54 PM
آخر رد: justforit
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 796 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  [VB.NET] مثال و مشكلة (تشفير نص) mmaalmesry 5 898 09-05-25, 08:05 AM
آخر رد: mmaalmesry
  النسخة الاحتياطية محمد بن عطية 2 244 19-04-25, 10:32 PM
آخر رد: Kamil
  تعديل مسار مكان حفظ النسخة الاحتياطية مصمم هاوي 6 817 02-03-25, 01:06 PM
آخر رد: atefkhalf2004
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 620 05-02-25, 01:51 AM
آخر رد: new_programer
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 667 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  اريد اضافة حفظ PDF فى مسار على الهارد- مثال الاستاذ عبدالله الدوسري new_programer 1 516 28-04-24, 04:52 PM
آخر رد: new_programer
Heart اقدم لكم هدية تصفح منتدى vb4arb.com بشكل أفضل من قبل مع ( vb4arb Code Highlighter ) عبدالله الدوسري 5 4,562 24-01-24, 10:31 PM
آخر رد: annagui
  ما هو أفضل موقع موثوق فيه ترشحونه لربط قاعدة البيانات عليه أونلاين hazim1 0 635 16-09-23, 06:14 AM
آخر رد: hazim1

التنقل السريع :


يقوم بقرائة الموضوع: