السّلام عليكم و رحمة الله و بركاته
إخواني الأكارم ..
أردت مشاركتكم بهذه الطريقة لإنشاء قواعد البيانات فارغة إنطلاقا من سكريبت خاص بها ..
قمت بالتجربة على سبيل المثال بقاعدة البيانات لدورة إنشاء فاتورة المبيعات لأخي الحبيب الغالي " ملهم الصويعي " بقسم دورات VB NET .. قاعدة البيانات المسماة DB_SALES ..
مسألة السكريبت هذه .. لها ميزاتها مثلا ..
هذه قاعدة البيانات بامتداد Mdf و حجمها 3 ميغابايت
و هذا السكريبت الخاص بنفس قاعدة البيانات هذه و الحجم لا يزيد عن 17 كيلو بايت
من جهة ثانية و هذا الأهم الذي طرحت من أجله المشاركة و هو ..
عند تسليمك المشروع للعميل .. من الناحية الجمالية و من الناحية الإحترافية أن يتم توليد قاعدة بيانات فارغة على جهازه أو توماتيكيا كنوع من " الإيتيكيت البرمجي " .. عن طريق تايمر مثلا و أنتم أدرى منّي بذلك ..
كيف يتم إنشاء السكريبت ..
نقف كليك يمين الماوس على قاعدة البيانات المقصورة
ملف السكريبت سيكون بالمسار الذي قمت باختياره ..
يتم وضعه بمجلد المشروع مثلما تماما بالملف المرفق أدناه
مع مراعاة التسميات داخل الأكواد و نصوص الإتّصال
المكتبات الضرورية تجدونها بمجلد ال DEBUG للملف
مع مراعاة للتأكيد كود App.Config
إخواني قد تكون الفكرة قديمة .. لكن من باب أنّه يوجد من ليس لديه فكرة عنها
و لذلك .. أعذروني فإن أصبت فمن الله و إن أخطأت فمن نفسي ومن الشيطان أعاذنا الله و إياكم
تحياتي
وعليكم السلامورحمة الله وبركاتة
شكرا اخي الحبيب
الله يعطيك الصحة والعافية
ماشاء الله تبارك الله
اسال الله العلى القدير ان يبارك لك فى صحتك ويعافيك فى بدنك وان يبارك لك فى اهلك وأبناؤك وذريتك ومالك وأن يرزقك من حيث لا تحتسب وان يغفر الله لنا ولك ولوالدينا
شرح مميز .... موفق خير
عمل رائع اخى عبد العزيز البسكري
شكراً على الاضافة الجميلة
التى ستساعد الكثير وخصوصاً من يتابع تلك الدورة
تحياتى لك
وتمنياتى لك لاتوفيق
بارك الله فيك اخ عبدالعزيز
السؤال المهم كيف أجعل النموذج يظهر أول مره فقط ويتم بإعدادات الاتصال وانشاء السكربت ويقوم بهذه العملية كاملة ويتم التخزين في اعدادات البرنامج ولا تظهر مره أخرى
بارك الله فيك أخ عبدالعزيز
كمثال فقط أخي الكريم بعد عمل السكريبت مباشرة قم بعمل حفظ اسم قاعدة البيانات بالسيتينغ
واعمل فحص إذا كان قاعدة البيانات موجود يمر للنموذح يلي بعده
حاولت أخ عبدالعزيز ولعلي لم أوفق في الطريقة الصحيحة
والكود التالي يشرح تنفيذي للأمر
كود :
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
ا محمد ممكن الفورم هذا لاني محتاجه
وحتي يسهل علي الزملاء التعديل والجميع يستفيد
شكرا