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

نسخة كاملة : سكريبت إنشاء قاعدة البيانات لل SQL SERVER
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السّلام عليكم و رحمة الله و بركاته
إخواني الأكارم ..
أردت مشاركتكم بهذه الطريقة لإنشاء قواعد البيانات فارغة إنطلاقا من سكريبت خاص بها ..
قمت بالتجربة على سبيل المثال بقاعدة البيانات لدورة إنشاء فاتورة المبيعات لأخي الحبيب الغالي " ملهم الصويعي " بقسم دورات VB NET .. قاعدة البيانات المسماة DB_SALES ..
مسألة السكريبت هذه .. لها ميزاتها مثلا ..
هذه قاعدة البيانات بامتداد Mdf و حجمها 3 ميغابايت
و هذا السكريبت الخاص بنفس قاعدة البيانات هذه و الحجم لا يزيد عن 17 كيلو بايت
من جهة ثانية و هذا الأهم الذي طرحت من أجله المشاركة و هو ..
عند تسليمك المشروع للعميل .. من الناحية الجمالية و من الناحية الإحترافية أن يتم توليد قاعدة بيانات فارغة على جهازه أو توماتيكيا كنوع من " الإيتيكيت البرمجي " .. عن طريق تايمر مثلا و أنتم أدرى منّي بذلك ..
كيف يتم إنشاء السكريبت ..
نقف كليك يمين الماوس على قاعدة البيانات المقصورة
ملف السكريبت سيكون بالمسار الذي قمت باختياره ..
يتم وضعه بمجلد المشروع مثلما تماما بالملف المرفق أدناه
مع مراعاة التسميات داخل الأكواد و نصوص الإتّصال
المكتبات الضرورية تجدونها بمجلد ال DEBUG للملف
مع مراعاة للتأكيد كود App.Config
إخواني قد تكون الفكرة قديمة .. لكن من باب أنّه يوجد من ليس لديه فكرة عنها
و لذلك .. أعذروني فإن أصبت فمن الله و إن أخطأت فمن نفسي ومن الشيطان أعاذنا الله و إياكم
تحياتي
https://up.top4top.net/downloadf-65888gjfx71-rar.html
وعليكم السلامورحمة الله وبركاتة

شكرا  اخي الحبيب

الله يعطيك الصحة والعافية
ماشاء الله تبارك الله 
اسال الله العلى القدير ان يبارك لك فى صحتك ويعافيك فى بدنك وان يبارك لك فى اهلك وأبناؤك وذريتك ومالك وأن يرزقك من حيث لا تحتسب وان يغفر الله لنا ولك ولوالدينا 

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

تحياتى لك
وتمنياتى لك لاتوفيق
بارك الله فيك اخ عبدالعزيز
السؤال المهم كيف أجعل النموذج يظهر أول مره فقط ويتم بإعدادات الاتصال وانشاء السكربت ويقوم بهذه العملية كاملة ويتم التخزين في اعدادات البرنامج ولا تظهر مره أخرى

بارك الله فيك أخ عبدالعزيز
كمثال فقط أخي الكريم بعد عمل السكريبت مباشرة قم بعمل حفظ اسم قاعدة البيانات بالسيتينغ

واعمل فحص إذا كان قاعدة البيانات موجود يمر للنموذح يلي بعده
حاولت أخ عبدالعزيز ولعلي لم أوفق في الطريقة الصحيحة
والكود التالي يشرح تنفيذي للأمر

كود :
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
   Try
       ' التحقق من إدخال اسم السيرفر
       If ComboBox1.Text = "" Then
           DevExpress.XtraEditors.XtraMessageBox.Show("الرجاء إختيار و إدخال اسم السيرفر", "تنبية", MessageBoxButtons.OK, MessageBoxIcon.Information)
           ComboBox1.Focus()
           Exit Sub
       End If

       ' التحقق من إدخال اسم المستخدم وكلمة المرور إذا كانت طريقة المصادقة SQL
       If ComboBox2.SelectedIndex = 1 Then
           If TextBox1.Text.Length = 0 Then
               DevExpress.XtraEditors.XtraMessageBox.Show("الرجاء كتابة اسم المستخدم", "تنبية", MessageBoxButtons.OK, MessageBoxIcon.Information)
               TextBox1.Focus()
               Exit Sub
           End If
           If TextBox2.Text.Length = 0 Then
               DevExpress.XtraEditors.XtraMessageBox.Show("الرجاء كتابة كلمة المرور", "تنبية", MessageBoxButtons.OK, MessageBoxIcon.Information)
               TextBox2.Focus()
               Exit Sub
           End If
       End If

       ' إعداد المؤشر على الانتظار
       Cursor = Cursors.WaitCursor
       Timer1.Enabled = True

       ' إنشاء اتصال SQL بناءً على نوع المصادقة
       If ComboBox2.SelectedIndex = 0 Then
           Con = New SqlConnection("Data source=" & ComboBox1.Text & ";Initial Catalog=master;Integrated Security=True;MultipleActiveResultSets=True")
       ElseIf ComboBox2.SelectedIndex = 1 Then
           Con = New SqlConnection("Data Source=" & ComboBox1.Text.Trim & ";Initial Catalog=master;User ID=" & TextBox1.Text.Trim & ";Password=" & TextBox2.Text & ";MultipleActiveResultSets=True")
       End If

       ' فتح الاتصال
       Con.Open()

       ' التحقق من نجاح الاتصال
       If (Con.State = ConnectionState.Open) Then
           ' التأكيد على إنشاء قاعدة البيانات
           If DevExpress.XtraEditors.XtraMessageBox.Show("هل تريد متابعة عملية إنشاء قاعدة بيانات فارغة و تكوين ملقم", "تنبية", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
               Using sw As StreamWriter = New StreamWriter(Application.StartupPath & "\SqlConnectionString.dat")
                   ' حفظ الاتصال بناءً على نوع المصادقة
                   If ComboBox2.SelectedIndex = 0 Then
                       sw.WriteLine("Data Source=" & ComboBox1.Text.Trim & ";Initial Catalog=TESTDB;Integrated Security=True;MultipleActiveResultSets=True")
                   ElseIf ComboBox2.SelectedIndex = 1 Then
                       sw.WriteLine("Data Source=" & ComboBox1.Text.Trim & ";Initial Catalog=TESTDB;User ID=" & TextBox1.Text.Trim & ";Password=" & TextBox2.Text & ";MultipleActiveResultSets=True")
                   End If
                   sw.Close()
               End Using

               ' إنشاء قاعدة البيانات الفارغة
               CreateBlankDB()

               ' حفظ المعلومات في إعدادات البرنامج
               My.Settings.ServerName = ComboBox1.Text.Trim
               My.Settings.DatabaseName = "TESTDB"
               My.Settings.IsConnected = True
               If ComboBox2.SelectedIndex = 1 Then
                   My.Settings.UserName = TextBox1.Text.Trim
                   My.Settings.Password = TextBox2.Text
               End If
               My.Settings.AuthMode = ComboBox2.SelectedIndex
               My.Settings.Save()

               ' عرض رسالة النجاح
               DevExpress.XtraEditors.XtraMessageBox.Show("تمت بنجاح عملية إنشاء قاعدة البيانات", "تنبية", MessageBoxButtons.OK, MessageBoxIcon.Information)

               ' إنهاء التطبيق أو الانتقال إلى النموذج الرئيسي
               End
           Else
               ' إنهاء البرنامج إذا اختار المستخدم عدم المتابعة
               End
           End If
       End If

   Catch ex As Exception
       DevExpress.XtraEditors.XtraMessageBox.Show("لم يتم الاتصال بالسيرفر", "تنبية", MessageBoxButtons.OK, MessageBoxIcon.Error)
   Finally
       ' إغلاق الاتصال
       If (Con.State = ConnectionState.Open) Then
           Con.Close()
       End If

       ' إعادة تعيين المؤشر إلى شكله الافتراضي
       Cursor = Cursors.Default
   End Try
End Sub
ا محمد ممكن الفورم هذا لاني محتاجه
وحتي يسهل علي الزملاء التعديل والجميع يستفيد
شكرا