المشاركات : 2,669
المواضيع 205
الإنتساب : Dec 2015
السمعة :
345
الشكر: 16361
تم شكره 11222 مرات في 2656 مشاركات
09-05-18, 01:11 AM
(آخر تعديل لهذه المشاركة : 06-05-21, 01:04 AM {2} بواسطة عبد العزيز البسكري.)
السّلام عليكم و رحمة الله و بركاته
إخواني الأكارم ..
أردت مشاركتكم بهذه الطريقة لإنشاء قواعد البيانات فارغة إنطلاقا من سكريبت خاص بها ..
قمت بالتجربة على سبيل المثال بقاعدة البيانات لدورة إنشاء فاتورة المبيعات لأخي الحبيب الغالي " ملهم الصويعي " بقسم دورات VB NET .. قاعدة البيانات المسماة DB_SALES ..
مسألة السكريبت هذه .. لها ميزاتها مثلا ..
هذه قاعدة البيانات بامتداد Mdf و حجمها 3 ميغابايت
و هذا السكريبت الخاص بنفس قاعدة البيانات هذه و الحجم لا يزيد عن 17 كيلو بايت
من جهة ثانية و هذا الأهم الذي طرحت من أجله المشاركة و هو ..
عند تسليمك المشروع للعميل .. من الناحية الجمالية و من الناحية الإحترافية أن يتم توليد قاعدة بيانات فارغة على جهازه أو توماتيكيا كنوع من " الإيتيكيت البرمجي " .. عن طريق تايمر مثلا و أنتم أدرى منّي بذلك ..
كيف يتم إنشاء السكريبت ..
نقف كليك يمين الماوس على قاعدة البيانات المقصورة
ملف السكريبت سيكون بالمسار الذي قمت باختياره ..
يتم وضعه بمجلد المشروع مثلما تماما بالملف المرفق أدناه
مع مراعاة التسميات داخل الأكواد و نصوص الإتّصال
المكتبات الضرورية تجدونها بمجلد ال DEBUG للملف
مع مراعاة للتأكيد كود App.Config
إخواني قد تكون الفكرة قديمة .. لكن من باب أنّه يوجد من ليس لديه فكرة عنها
و لذلك .. أعذروني فإن أصبت فمن الله و إن أخطأت فمن نفسي ومن الشيطان أعاذنا الله و إياكم
تحياتي
تم الشكر بواسطة: sendbad100 , tarek , Adrees , مصمم هاوي , princelovelorn , ابوثامر الحربي , dametucorazon , dametucorazon , محمد كريّم , elgokr , Ahmed_Mansoor , essawq , Amir_Alzubidy , Amir_Alzubidy , amer2000 , amer2000 , larbihamri , محمد خرد , asemshahen5 , ابراهيم ايبو , علي بنيان , علي بنيان , baha , tanmia , محمد العامر , Zuhare
المشاركات : 1,535
المواضيع 33
الإنتساب : Jul 2016
السمعة :
256
الشكر: 6183
تم شكره 4343 مرات في 1696 مشاركات
وعليكم السلامورحمة الله وبركاتة
شكرا اخي الحبيب
الله يعطيك الصحة والعافية
المشاركات : 28
المواضيع 3
الإنتساب : Jul 2016
السمعة :
4
الشكر: 13
تم شكره 26 مرات في 16 مشاركات
ماشاء الله تبارك الله
اسال الله العلى القدير ان يبارك لك فى صحتك ويعافيك فى بدنك وان يبارك لك فى اهلك وأبناؤك وذريتك ومالك وأن يرزقك من حيث لا تحتسب وان يغفر الله لنا ولك ولوالدينا
شرح مميز .... موفق خير
المشاركات : 211
المواضيع 65
الإنتساب : Jun 2018
السمعة :
4
الشكر: 179
تم شكره 176 مرات في 103 مشاركات
المشاركات : 3,771
المواضيع 36
الإنتساب : Mar 2014
السمعة :
725
الشكر: 7108
تم شكره 6714 مرات في 3265 مشاركات
03-07-18, 08:34 PM
(آخر تعديل لهذه المشاركة : 03-07-18, 08:34 PM {2} بواسطة elgokr.)
عمل رائع اخى عبد العزيز البسكري
شكراً على الاضافة الجميلة
التى ستساعد الكثير وخصوصاً من يتابع تلك الدورة
تحياتى لك
وتمنياتى لك لاتوفيق
المشاركات : 146
المواضيع 38
الإنتساب : Feb 2020
السمعة :
5
الشكر: 96
تم شكره 157 مرات في 81 مشاركات
بارك الله فيك اخ عبدالعزيز
السؤال المهم كيف أجعل النموذج يظهر أول مره فقط ويتم بإعدادات الاتصال وانشاء السكربت ويقوم بهذه العملية كاملة ويتم التخزين في اعدادات البرنامج ولا تظهر مره أخرى
بارك الله فيك أخ عبدالعزيز
لا إله إلا الله وحده لا شريك له، لهُ الملك وله الحمد وهو على كل شئ قدير،،،،
سبحان الله وبحمده سبحان الله العظيم 
المشاركات : 2,669
المواضيع 205
الإنتساب : Dec 2015
السمعة :
345
الشكر: 16361
تم شكره 11222 مرات في 2656 مشاركات
كمثال فقط أخي الكريم بعد عمل السكريبت مباشرة قم بعمل حفظ اسم قاعدة البيانات بالسيتينغ
واعمل فحص إذا كان قاعدة البيانات موجود يمر للنموذح يلي بعده
المشاركات : 146
المواضيع 38
الإنتساب : Feb 2020
السمعة :
5
الشكر: 96
تم شكره 157 مرات في 81 مشاركات
حاولت أخ عبدالعزيز ولعلي لم أوفق في الطريقة الصحيحة
والكود التالي يشرح تنفيذي للأمر
كود :
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
لا إله إلا الله وحده لا شريك له، لهُ الملك وله الحمد وهو على كل شئ قدير،،،،
سبحان الله وبحمده سبحان الله العظيم 
المشاركات : 1,245
المواضيع 215
الإنتساب : Sep 2013
السمعة :
2
الشكر: 3
تم شكره 510 مرات في 303 مشاركات
ا محمد ممكن الفورم هذا لاني محتاجه
وحتي يسهل علي الزملاء التعديل والجميع يستفيد
شكرا
|