Sql connexion wizard
بسم الله الرحمن الرحيم
في هذا الموضوع سوف نرى بحول الله كيفية عمل Wizard لإنشاء اتصال بين قواعد البيانات SQL SERVER ومشروع فيجوال بيزك 2015
أولا ننشأ مشروع جديد ونسميه على بركة الله Connexion
نعطي للفورم من خلال خاصية Size المقاسات التالية : 585 في الطول و 370 في الإرتفاع
نضيف إلى الفورم GroupBox، وفي داخلها نظيف الأدوات التالية :
5 Label
2 RadioButton
2 ComboBox
2 TextBox
زر لتجربة الإتصال وزر للخروج وزر للحفظ
نسمي الأدوات ونرتبها كما هو مبين في الصورة التالية :
هذا الجانب التصميمي للفورم، والآن نبدأ على بركة الله بالجانب البرمجي :
1- نضغط على الزر الأيسر للفأرة على اسم المشروع ثم نختار خصائص من النافذة المنبثقة، ولما تنفتح فافدة الخصائص نختار
تبويب Setting ونضيف الإعدادات التالية كما هو مبين في الصورة أدناه
2- نضغط Double click على الفورم لتضهر نافذة الكود وفي الأعلى نجلب مجالات الأسماء التالية :
Imports System.Data.SqlClient
Imports System.IO
Imports Microsoft.SqlServer.Management.Common
Imports Microsoft.SqlServer.Management.Smo
Imports System.DirectoryServices.ActiveDirectory
Imports System.DirectoryServices
أكيد راح معالج الكود يضع أسطر حمراء على بعض المجالات لأننا لم نضفها في Reference
مرة ثانية نضغط على الزر الأيسر للفأرة على اسم المشروع ثم نختار ADD ثم Reference وفي تبويب Framwork نبحث على System.DirectoryServices ونفعلها لأنها قد تكون غير مفعلة .
ثم من تبويب Browse نضغط على زر Browse ليفتح نافذة OpenFils ونجلب هذان الملفان
أ- Microsoft.SqlServer.Configuration.ConnectionInfo.dll يمكنك تحميله من هنا
ب- Microsoft.SqlServer.Configuration.SqlEnum.dll يمكنك تحميله من هنا
نضغط على زر ADD ثم على رز OK
3- في أعلى الكلاس نعلن النتغيرات التالية :
Dim sqlconn As New SqlClient.SqlConnection
Dim sql As String = ""
Dim con, con1 As SqlConnection
Dim cmd As SqlCommand
Dim dread As SqlDataReader
4- في داخل الكلاس تكتب الإجراءات التالية :
A-
Sub server(ByVal str As String)
con = New SqlConnection("Data Source=" & str & ";Database=Master;integrated security=SSPI;")
con.Open()
cmd = New SqlCommand("select * from sysservers where srvproduct='SQL Server'", con)
dread = cmd.ExecuteReader
While dread.Read
cmbServerName.Items.Add(dread(2))
End While
dread.Close()
End Sub
B-
Sub connection()
con = New SqlConnection("Data Source=" & Trim(cmbServerName.Text) & ";Database=Master;integrated security=SSPI;")
con.Open()
Cbo_DB_Name.Items.Clear()
cmd = New SqlCommand("select * from sysdatabases", con)
dread = cmd.ExecuteReader
While dread.Read
Cbo_DB_Name.Items.Add(dread(0))
End While
dread.Close()
End Sub
هذا الإجراء سوف يملأ Cbo_DB_Name بكل الداتابيز الموجودة على السيرفر الذي نختاره من cmbServerName كما سترى في الصورة الآخيرة
5- نضغط Double click على زر Btn_Serveur ونتكب الكود التالي :
cmbServerName.Items.Clear()
server(".")
6- في حدث الـ: SelectedIndexChanged لأداة cmbServerName ننادي إجراء connection كما يلي : connection()
7- نضغط Double click على زر Btn_Teste ونتكب الكود التالي ليقوم بتجربة فتح الإتصال مع قاعدة االبيانات التي تختارها من Cbo_DB_Name ثم تظهر رسالة النتيجة إن كان الإتصال ناجح أم لا
الكود هو :
If cmbServerName.Text.Trim = "" Then
MsgBox("Server Name Required...", MsgBoxStyle.Critical, "message")
cmbServerName.Focus()
Exit Sub
End If
If Cbo_DB_Name.Text.Trim = "" Then
MsgBox("Database Name Required...", MsgBoxStyle.Critical, "message")
Cbo_DB_Name.Focus()
Exit Sub
End If
If RD_Win_Mode.Checked = True Then
sql = "Server=" & cmbServerName.Text & ";Database=" & Cbo_DB_Name.Text & ";integrated security=true"
Else
sql = "Server=" & cmbServerName.Text & ";Database=" & Cbo_DB_Name.Text & ";integrated security=false;User Id=" & txtUserName.Text.Trim & ";Password=" & txt_Login_PW.Text.Trim
End If
If sqlconn.State = 1 Then sqlconn.Close()
sqlconn.ConnectionString = sql
Try
sqlconn.Open()
MsgBox("Le teste de la connexion a réussi.", MsgBoxStyle.Information, "Connexion au Serveur")
Catch ex As Exception
MessageBox.Show(ex.Message, "Connexion au Serveur", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
sqlconn.Close()
End Try
8- نضغط Double click على زر Btn_Save ونكتب كود الحفظ التالي :
If txtUserName.Text = "" Or txt_Login_PW.Text = "" Then
MsgBox("Veuiller remplir les champs ondiquer en Rouges")
txtUserName.BackColor = Color.Red
txt_Login_PW.BackColor = Color.Red
Exit Sub
End If
My.Settings.Server = cmbServerName.Text.Trim
My.Settings.DataBase = Cbo_DB_Name.Text.Trim
If RD_SQL_Mode.Checked = True Then
My.Settings.Mode = "SQL"
Else
My.Settings.Mode = "Windows"
End If
My.Settings.SQL_ID = txtUserName.Text
My.Settings.SQL_PW = txt_Login_PW.Text
My.Settings.Save()
MsgBox("Server = " + My.Settings.Server + " Base de Données = " + My.Settings.DataBase + " SQL ID = " + My.Settings.SQL_ID + " SQL PW = " + My.Settings.SQL_PW)
MsgBox("Connexion bien configurée, El-Souck Doit être Fermer veuillez le Lancer.")
End
9- نضغط Double click على زر َBtn_Close ونتكب كود الإغلاق Close()
10- نعمل رن ونجرب كما هو في الصورة التوضيحية
أرجوا أن أكون قد وفقت والشكر الكبير بعد الله للأستاذ عثمان خوريشد
لا تنسونا بالدعاء






Commentaires
Enregistrer un commentaire