تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة عمل النسخ الإحتياطى و إسترجاع البيانات بكل سهوولة
#1
[SIZE="4"][SIZE="4"]
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته


هذه مشاركة متواضعة لى فى المنتدى أسأل الله عز وجل أن ينفع بها الجميع وقد كنت قد أعدتتها من قبل فى منتدى الأقصر سيستمز و لكن أحببت أن تعم الفائدة ويستفيد أكبر عدد من الناس.

كلنا يعلم أن تطبيق البرنامج فى المقام الأول يجب أن يهتم براحة العميل وتسهيل عملية الإستخدام

ولذلك حتى لا نقوم بتكليف العميل ما لا يطيق, أن يقوم كل يوم بالدخول لقاعدة البيانات لعمل نسخ إحتياطى و إسترجاع البيانات إذا دعت الضرورة لذلك, نعطيه خيار يقوم بتلك الوظائف من خلال الرنامج.

وكنت فى أحد برامجى قد أعددت هذا الأمر وأحببت أن تعم الفائدة..


نقوم بعمل قائمة رئيسية ويكون فيها عنصر ين (أحدهما حفظ و الآخر فتح) كما موضح فى الصورة السابقة.

قبل أن نبدأ بعملية كتابة كود الحفظ يجب علينا عمل موديول (Module) ونضع فيه هذا الكود

كود :
Module Module
Imports System.Data.SqlClient
Public myConnection As SqlConnection
    Public reader As SqlClient.SqlDataReader
    Public myCommand As SqlClient.SqlCommand
    Public mydataadapter As SqlClient.SqlDataAdapter
    Public con_str As String = "server=(local);trusted_connection=true;database=&Your database Name&" مع مراعاة إسم الداتا بيز

  Public Function Command(ByVal Command_query As String) As Integer
        myConnection = New SqlClient.SqlConnection(Modul.con_str)
        myCommand = New SqlClient.SqlCommand(Command_query, myConnection)
        myCommand.Connection.Open()
        Return myCommand.ExecuteNonQuery
        myCommand.Connection.Close()
    End Function
End Module

[SIZE="4"]ولضمان الصحة ظلل كل الموديول وبعد ذلك إعمل طباعة لكل الكود

وبعد ذلك فى العنصر حفظ من القائمة الرئيسية ضع هذاالكود(ونحتاج هنا ل SaveFileDialog و ProgressBar )[/SIZE]
كود :
Cursor = Cursors.WaitCursor
        SaveFileDialog1.OverwritePrompt = True
        SaveFileDialog1.InitialDirectory = "D:\BackupData" 'change to your backup path
        SaveFileDialog1.Filter = "Backup Files (*.Bak)|*.BaK"
        If SaveFileDialog1.ShowDialog() = DialogResult.OK Then 'And Not SaveFileDialog1.FileName.Equals("") Then
            '    MsgBox("Please type the backup file name " & vbCr & "فضلاً أدخل إسم ملف النسخة الإحتياطية", MsgBoxStyle.Critical, msg_title)
            'Else
            OpenFileDialog1.InitialDirectory = "D:\BackupData"
            Dim BackupInformation As String = SaveFileDialog1.FileName
            Command("backup database[color=red] Your_DataBase_Name [/color]to disk='" & BackupInformation & "'with password='[color=red]Choose your password'[/color]")
            Dim I As Integer
            For I = 1 To 5000
                ProgressBar1.Visible = True
                ProgressBar1.Minimum = 1
                ProgressBar1.Maximum = 5000
                ProgressBar1.Step = 1
                ProgressBar1.Value = I
                If I = 5000 Then
                    ProgressBar1.Visible = False
                End If
            Next
            MsgBox("Database was successfully Backuped" & vbCr & "تم نسخ البيانات بنجاح", MsgBoxStyle.Information, msg_title)
        End If
        Cursor = Cursors.Default
وبعد ذلك فى العنصر حفظ من القائمة الرئيسية ضع هذاالكود(ونحتاج هنا ل OpenFileDialog )


كود :
Cursor = Cursors.WaitCursor
        OpenFileDialog1.InitialDirectory = "D:\BackupData" 'change to your backup path
        OpenFileDialog1.Filter = "Backup Files (*.BaK)|*.BaK"
        If OpenFileDialog1.ShowDialog() = DialogResult.OK And Not OpenFileDialog1.FileName.Equals("") Then
            Command("use master RESTORE DATABASE [color=red]Your Database name [/color]FROM disk='" & OpenFileDialog1.FileName & "' With password=[color=red]'Choose Your Password'[/color], Move 'Your Database name_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Your Database name_Data.mdf',Move 'Your Database name_Log' to 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\Your Database name_Log.ldf',Replace")
            Dim I As Integer
            For I = 1 To 5000
                ProgressBar1.Visible = True
                ProgressBar1.Minimum = 1
                ProgressBar1.Maximum = 5000
                ProgressBar1.Step = 1
                ProgressBar1.Value = I
                If I = 5000 Then
                    ProgressBar1.Visible = False
                End If
            Next
            MsgBox("Database was successfully restored" & vbCr & "تم إسترجاع البيانات بنجاح", MsgBoxStyle.Information, msg_title)
        Else
            MsgBox("Error !,No file" & vbCr & "خطأ، لايوجد ملف", MsgBoxStyle.Information, msg_title)
        End If
      
        Cursor = Cursors.Default
[SIZE="4"]ملحوظة:[/SIZE]
    [SIZE="3"]
  1. كلمة Choose Your Password تعنى أن تكتب الباسورد اللى إنت عاوزو علشان تحمى النسخة الإحتاطية
  2. الإخوة الذين يستخدمون إصدار قاعدة بيانات أحدث من sqlserver 2000 يجب عليهم مراعاة مسار حفظ و فتح النسخة الإحتياطية.

و الآن جرب و إدعيلى

وأنا جاهز حول أى إستفسار بخصوص هذا الموضوع و الموضوع مفتوح لإضافة أى مشاركة[/SIZE][/SIZE][/SIZE]
الرد }}}}
تم الشكر بواسطة:
#2
انا قراءت الكود ولم استطع تجربته علي قاعدة بيانات من نوع اكسس نرجو من سيادتكم اعادة كتابة الكود علي قاعدة بيانات اكسس علي مثال المرفق ولسيادتكم جزيل الشكر


الملفات المرفقة
.rar   سيارات.rar (الحجم : 94.65 ك ب / التحميلات : 136)
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Big Grin وداعا لملل كتابة الاكود الاضافة لقاعدة البيانات اكسس و سيكوال alims 14 4,874 10-09-16, 11:30 AM
آخر رد: assad
  كيفية تحزيم برنامج وتضمين معه قاعدة البيانات شرح بالصور مبرمج بلا حدود 30 14,616 20-07-16, 06:58 PM
آخر رد: ahmedfa71
Wink [مقال] وداعا لملل كتابة الاكود لعرض لقاعدة البيانات اكسس و سيكوال (الجزء الثانى) alims 1 1,013 02-06-16, 12:42 PM
آخر رد: CLARO
  طريقة تقسيم كمية عرض البيانات داخل الأداة ( DataGridView ) أو مايسمى بالـ ( Paging ) MR Dev Boody 4 1,993 02-06-16, 12:41 PM
آخر رد: CLARO
  وداعا لملل كتابة الاكود الاضافة لقاعدة البيانات اكسس و سيكوال alimse 3 1,559 02-06-16, 12:41 PM
آخر رد: CLARO
Lightbulb [نقاش] تحليل وتصميم قواعد البيانات ahmed saba 3 2,350 02-06-16, 12:39 PM
آخر رد: CLARO
  موقع ConnectionStrings الغني عن التعريف المليء باوامر الاتصال لقواعد البيانات وغبرها honest 1 218 02-06-16, 12:38 PM
آخر رد: CLARO
  الكامل في قواعد البيانات rinawi 13 5,068 02-06-16, 12:37 PM
آخر رد: CLARO
  مثال للعمليات علي قواعد البيانات مع الشرح mr_mgm 1 1,135 02-06-16, 12:34 PM
آخر رد: CLARO
  اسهل طريقة للتعامل مع MS Access تحت بيئة الدوت نت eng.khalidvb 3 1,265 26-08-13, 09:25 PM
آخر رد: Omar Mekkawy

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم