تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تعبئة كومبو بوكس بقواعد البيانات الموجوده علي السيرفر
#1
انشأت مشروع بواسطه فيجوال بيسك و قاعدة بيانات sqlserver و الحمد لله شغال تمام..
ولكن اريد عمل كومبو بوكس يتم عرض فيه اسماء قواعد البيانات الموجوده علي السيرفر.. 
ارجو المساعده..
الرد }}}
تم الشكر بواسطة: haroun001
#2
PHP كود :
Dim cn As New SqlConnection("Server=" ComboServer.Text ";database=master;integrated security=true")
 
               Dim da As New SqlDataAdapter("select name from sysdatabases"cn'sys.databases
                Dim dt As New DataTable
                da.Fill(dt)
                For i As Integer = 0 To dt.Rows.Count - 1
                    ComboDatabase.Items.Add(dt.Rows(i)("Name").ToString)
                Next 
الرد }}}
تم الشكر بواسطة: haroun001
#3
(16-12-19, 08:28 PM)asemshahen5 كتب :
PHP كود :
Dim cn As New SqlConnection("Server=" ComboServer.Text ";database=master;integrated security=true")
 
               Dim da As New SqlDataAdapter("select name from sysdatabases"cn'sys.databases
                Dim dt As New DataTable
                da.Fill(dt)
                For i As Integer = 0 To dt.Rows.Count - 1
                    ComboDatabase.Items.Add(dt.Rows(i)("Name").ToString)
                Next 

شكرا اخي ?
الرد }}}
تم الشكر بواسطة: asemshahen5 , haroun001
#4
(17-12-19, 02:27 PM)Mustafa Shaker كتب :
(16-12-19, 08:28 PM)asemshahen5 كتب :
PHP كود :
Dim cn As New SqlConnection("Server=" ComboServer.Text ";database=master;integrated security=true")
 
               Dim da As New SqlDataAdapter("select name from sysdatabases"cn'sys.databases
                Dim dt As New DataTable
                da.Fill(dt)
                For i As Integer = 0 To dt.Rows.Count - 1
                    ComboDatabase.Items.Add(dt.Rows(i)("Name").ToString)
                Next 

عندي كمان جهاز عاوز اخليه يتصل بالسيرفر.. انا حاليا بضيف user في sql managment و اتصل عن طريق اليوزر دا.. 
هل في طريقه اقدر اربط جهاز علي السيرفر بدون تثبيت sql managment 
الرد }}}
تم الشكر بواسطة: asemshahen5 , haroun001
#5
غير كود الاتصال كالتالي :

PHP كود :
Dim cn As New SqlConnection("Server =192.168.1.2;database=master;integrated security=false;User ID=UserName;Password=123456789"

فقط غير رقم الايبي و اسم المستخدم و كلمة المرور .

هذا المثال به طريقة عمل نافذة لإعدادات السيرفير و حفظ معلومتها بالريجستري مشفرة .

سورس كود برنامج IT للعهدة والمستخدمين والاجهزة .
الرد }}}
تم الشكر بواسطة:
#6
مشكور على الكود الرائع
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة:
#7
لتنفيذ هذه المهمة، تحتاج إلى الاستفادة من مكتبة SqlClient في .NET لتحديد السيرفرات وقواعد البيانات. هنا شرح تفصيلي مع كود عملي:

الخطوات:
1. تعبئة السيرفرات في
كود :
ComboBox
الأول:
  • يمكن استخدام الفئة SqlDataSourceEnumerator للحصول على قائمة بأسماء السيرفرات المثبتة على الجهاز.
2. تعبئة قواعد البيانات في
كود :
ComboBox
الثاني:
  • بعد اختيار السيرفر من
    ComboBox
  • الأول، يمكن استخدام اتصال إلى السيرفر لاسترداد قائمة قواعد البيانات باستخدام استعلام SQL.

الكود:
vb
نسخ الكود
كود :
Imports System.Data.Sql
Imports System.Data.SqlClient

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       ' تعبئة السيرفرات عند تحميل الشاشة
       FillServers()
   End Sub

   ' تعبئة السيرفرات في ComboBox الأول
   Private Sub FillServers()
       Try
           Dim serversTable As DataTable = SqlDataSourceEnumerator.Instance.GetDataSources()
           ComboBox1.Items.Clear()
           For Each row As DataRow In serversTable.Rows
               Dim serverName As String = row("ServerName").ToString()
               Dim instanceName As String = If(row("InstanceName").ToString() <> "", "\" & row("InstanceName").ToString(), "")
               ComboBox1.Items.Add(serverName & instanceName)
           Next
       Catch ex As Exception
           MessageBox.Show("خطأ في الحصول على السيرفرات: " & ex.Message)
       End Try
   End Sub

   ' حدث اختيار السيرفر من ComboBox الأول
   Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
       Dim selectedServer As String = ComboBox1.SelectedItem.ToString()
       FillDatabases(selectedServer)
   End Sub

   ' تعبئة قواعد البيانات في ComboBox الثاني
   Private Sub FillDatabases(serverName As String)
       Try
           Dim connectionString As String = $"Data Source={serverName};Integrated Security=True;"
           Using connection As New SqlConnection(connectionString)
               connection.Open()

               ' استعلام للحصول على قواعد البيانات
               Dim cmd As New SqlCommand("SELECT name FROM sys.databases WHERE state = 0", connection)
               Dim reader As SqlDataReader = cmd.ExecuteReader()

               ComboBox2.Items.Clear()
               While reader.Read()
                   ComboBox2.Items.Add(reader("name").ToString())
               End While

               reader.Close()
           End Using
       Catch ex As Exception
           MessageBox.Show("خطأ في الحصول على قواعد البيانات: " & ex.Message)
       End Try
   End Sub
End Class

الشرح:
  1. تعبئة السيرفرات (
    FillServers
  2. ):
    • الفئة SqlDataSourceEnumerator تقوم بإرجاع جدول يحتوي على أسماء السيرفرات المثبتة.
    • يتم دمج اسم السيرفر مع اسم المثيل (Instance Name) إن وجد.
  3. تعبئة قواعد البيانات (
    FillDatabases
  4. ):
    • يتم استخدام اتصال بـ SQL Server باستخدام Integrated Security لاسترداد قواعد البيانات.
    • يتم تشغيل استعلام على جدول النظام
      sys.databases
    • للحصول على أسماء قواعد البيانات التي في حالة نشطة.
  5. التفاعل مع
    ComboBox
  6. :
    • عند تغيير الاختيار في
      ComboBox1
    • (حدث
      SelectedIndexChanged
    • )، يتم تعبئة
      ComboBox2
    • بقواعد البيانات.

المخرجات:
  • عند تشغيل البرنامج:
      ComboBox1
    • يتم تعبئته تلقائيًا بأسماء السيرفرات.
    • عند اختيار سيرفر،
      ComboBox2
    • يُعرض أسماء قواعد البيانات الخاصة به.
ملاحظات:
  • يجب تشغيل البرنامج على جهاز يمكنه الوصول إلى السيرفرات المحلية.
  • إذا كنت بحاجة إلى مصادقة SQL (Username/Password)، يمكنك تعديل سلسلة الاتصال:
    vb
    نسخ الكود
    Dim connectionString As String = $"Data Source={serverName};User ID=YourUsername;Password=YourPassword;"
إذا احتجت أي توضيحات إضافية أو تعديلات، أنا جاهز! ?
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تعبئة checklistbox جيولوجي مبتدئ 4 931 31-08-25, 10:04 PM
آخر رد: مصمم هاوي
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 813 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 789 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,180 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,016 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  [VB.NET] تكست بوكس EMADW 3 443 09-05-25, 05:09 PM
آخر رد: princelovelorn
  بطء في جلب البيانات مصمم هاوي 9 976 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  تعديل كود تحديث البيانات مصمم هاوي 1 771 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 688 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 653 24-04-25, 12:58 PM
آخر رد: foad8920

التنقل السريع :


يقوم بقرائة الموضوع: