الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة لو سمحتم لعمل مثل هذا الفورم

بدأه محاسب يوسف في 26 فبراير 2014 · 1 رد · 538 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي ينامج

sqlserver2008r2

vb.net2008

السؤال

في السكول اكثر من سيرفر طبعا على كمبيوتر واحد وكل سيرفر يحتوي داتا بيز

اريد عمل فورم يتم اختيار اسم السيرفر اولا ثم اختيار الداتا بيز والاتصال بها

لو سمحتم

#2
وجدت لك كلاس SqlServer مفيد جداً
 

وهذا مثال لطريقة استخدامه ضع عدد 2 كمبوبوكس ComboBox وعدد 2 بوتون Button

البوتون الأول لملأ الكومبو الأول بالسيرفرات المتوفرة (حياخذ شوية وقت للبحث) بعدها اختر واحد من السيرفرات التي وجدها ثم اضغط البوتون الثاني لملأ الكومبو الثاني بأسماء الداتابيز لذلك السيرفر

 

لا تنس أن تضيف رفرنس Reference باسم Microsoft.SqlServer.Smo للمشروع

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim s() As SqlServer.ServerInstance
        s = SqlServer.EnumerateServers()
        ComboBox1.Items.Clear()
        For i = 0 To s.Length - 1
            ComboBox1.Items.Add(s(i).Name)
        Next

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Using con As New SqlClient.SqlConnection("Data Source=" & ComboBox1.Text & ";Integrated Security=True")
            con.Open()
            Using cmd As New SqlClient.SqlCommand("sp_databases", con)
                cmd.CommandType = CommandType.StoredProcedure
                Dim read As SqlClient.SqlDataReader = cmd.ExecuteReader()
                While read.Read()
                    ComboBox2.Items.Add(DirectCast(read("DATABASE_NAME"), String))
                End While
            End Using
        End Using
    End Sub

End Class

وهذا الكلاس

Imports Microsoft.SqlServer.Management
Imports Microsoft.SqlServer.Management.Smo
Public Class SqlServer
    ''' <summary>
    ''' The form of EnumerateServers for all machines in the network.
    ''' </summary>
    Public Overloads Shared Function EnumerateServers() As ServerInstance()
        Return EnumerateServers("")
    End Function
    ''' <summary>
    ''' Return a collection of server instance descriptors for all SQL Servers within a network
    ''' </summary>
    ''' <param name="computerName">Specify a computer name to target a particular machine</param>
    ''' <returns>An array of ServerInstance descriptor objects</returns>
    ''' <remarks>This method translates the DataTable to a list of objects with Intellisense.</remarks>
    Public Overloads Shared Function EnumerateServers(ByVal computerName As String) As ServerInstance()
        Dim tableServers As DataTable = Nothing
        If computerName.Length = 0 Then
            tableServers = SmoApplication.EnumAvailableSqlServers
        Else
            tableServers = SmoApplication.EnumAvailableSqlServers(computerName)
        End If
        ' Create enough space for all the SQL Server instances.
        Dim list(tableServers.Rows.Count - 1) As ServerInstance
        ' Build the list of servers.
        For index As Integer = 0 To tableServers.Rows.Count - 1
            Dim row As DataRow = tableServers.Rows(index)
            Dim name As String = row("Name").ToString()
            Dim server As String = row("Server").ToString()
            Dim instance As String = row("Instance").ToString()
            Dim clustered As Boolean = row("IsClustered").ToString()
            Dim local As Boolean = row("IsLocal").ToString()
            Dim entry As New ServerInstance(name, server, instance, clustered, local)
            list(index) = entry
        Next index
        Return list
    End Function
    Public Class ServerInstance
        Public Sub New(ByVal name As String, ByVal server As String, ByVal instance As String, ByVal clustered As Boolean, ByVal local As Boolean)
            m_name = name
            m_server = server
            m_instance = instance
            m_clustered = clustered
            m_local = local
        End Sub
        Private m_name As String = ""
        Public Property Name() As String
            Get
                Return m_name
            End Get
            Set(ByVal value As String)
                m_name = value
            End Set
        End Property
        Private m_server As String = ""
        Public Property Server() As String
            Get
                Return m_server
            End Get
            Set(ByVal value As String)
                m_server = value
            End Set
        End Property
        Private m_instance As String = ""
        Public Property Instance() As String
            Get
                Return m_instance
            End Get
            Set(ByVal value As String)
                m_instance = value
            End Set
        End Property
        Private m_clustered As Boolean
        Public Property IsClustered() As Boolean
            Get
                Return m_clustered
            End Get
            Set(ByVal value As Boolean)
                m_clustered = value
            End Set
        End Property
        Private m_local As Boolean
        Public Property IsLocal() As Boolean
            Get
                Return m_local
            End Get
            Set(ByVal value As Boolean)
                m_local = value
            End Set
        End Property
    End Class

End Class

وطريقة الاتصال الأخيرة انا متأكد أنك تعرفها

تم تعديل هذه المشاركة بواسطة vbnetvbnet في 26 فبراير 2014 في 19:10

.

أقوال مميزة من منتدى الفريق العربي للبرمجة (قيد التحديث)

 

الأستاذ: محمد طلال بدوي كتب:

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

الدكتورة: زهرة (أم عهود) كتب:

والله لا نريد من هذه الدنيا شيء إلا ان نكون اخوة متحابين في الله يجمعنا طلب العلم ومساعدة الآخرين لوجه الله تعالى.

.

مواضيع مشابهة