منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : النسخ الاحتياطي والاسترجاع
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
اخواني استخدم الكود البرمجي الاتي لغرض النسخ الاحتياطي والاسترجاع

ويعملون بشكل جيد .. لكن الاشكالية الوحيدة انه بعد عملية النسخ الاختياطي والاسترجاع ... مؤشر الماوس يتغير الى حالة التحميل ويبقى في شكل حالة التحميل حتى بعد اكمال النسخ الاحتياطي او الاسترجاع

كود :
Sub Backup()

       Dim dt As DateTime = Today
           Dim destdir As String = "possystemdb" & System.DateTime.Now.ToString("dd-MM-yyyy_h-mm-ss") & ".bak"
           Dim objdlg As New SaveFileDialog
           objdlg.FileName = destdir
           objdlg.ShowDialog()
           Filename = objdlg.FileName
           Cursor = Cursors.WaitCursor
           Timer2.Enabled = True
           con.Open()
           Dim sql As String = "backup database possystemdb to disk='" & Filename & "'with init,stats=10"
           Dim cmd As New SqlCommand(sql)
           cmd.Connection = con
           cmd.ExecuteReader()
           con.Close()
           MessageBox.Show("تم حفظ النسخة الاحتياطية من قاعدة البيانات")

   End Sub

   Public Sub RestoreDatabase()
       Try
           With OpenFileDialog1
               .Filter = ("DB Backup File|*.bak;")
               .FilterIndex = 4
           End With
           'Clear the file name
           OpenFileDialog1.FileName = ""
           If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
               Cursor = Cursors.WaitCursor
               Timer2.Enabled = True
               SqlConnection.ClearAllPools()
               con.Open()
               Dim sql As String = "USE Master ALTER DATABASE possystemdb SET Single_User WITH Rollback Immediate Restore database possystemdb FROM disk='" & OpenFileDialog1.FileName & "' WITH REPLACE ALTER DATABASE possystemdb SET Multi_User "
               Dim cmd As New SqlCommand(sql)
               cmd.Connection = con
               cmd.ExecuteReader()
               con.Close()
               MessageBox.Show("تمت استعادة قاعدة البيانات بنجاح", "استعادة القاعدة ", MessageBoxButtons.OK, MessageBoxIcon.Information)
           End If
       Catch ex As Exception
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       End Try

   End Sub
أعتقد ستنتهي المشكلة لو قمت بحذف الأمر التالي من كود النسخ والاسترجاع :
Cursors.WaitCursor
اشكرك نعم تم حل المشكلة .. ممتن جدا
العفو
بالتوفيق إن شاء اللّه