تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[كود] استرجاع البيانات من ConnectionString
#1
السلام عليكم و رحمة الله وبركاته


الكود التالي يمكن إستخدامه في إسترجاع أو في استخلاص البيانات من اسم الكونكشن او من ConnectionString
هذا  هو الكلاس المسؤل عن عن عملية إسترجاع البيانات من ConnectionString

ويمكنكم تطويره إن أردتم

PHP كود :
Imports System.Data.Common

Public Class ConnectionManager
    Implements IConnectionManager

    Private Shared dataManager 
As IConnectionManager

    Public Shared ReadOnly Property Pattern 
As IConnectionManager
        Get
            Dim result 
As IConnectionManager CType(NothingIConnectionManager)
 
           SyncLock GetType(IConnectionManager)
 
               If dataManager Is Nothing Then
                    dataManager 
= New ConnectionManager
                End 
If
 
               result dataManager
            End SyncLock
            Return result
        End Get
    End Property

    Private ReadOnly Property AdoDotNetConnectionKeys 
As IEnumerable(Of String) Implements IConnectionManager.AdoDotNetConnectionKeys
        Get
            Return 
New String() {"Hostname""Host""Server""Data Source""ServerName""ServerNode"}
 
       End Get
    End Property

    Private ReadOnly Property OdbcConnectionKeys 
As IEnumerable(Of String) Implements IConnectionManager.OdbcConnectionKeys
        Get
            Return 
New String() {"Hostname""Host""Server""ServerName""ServerNode"}
 
       End Get
    End Property

    Private ReadOnly Property OleDbConnectionKeys 
As IEnumerable(Of String) Implements IConnectionManager.OleDbConnectionKeys
        Get
            Return 
New String() {"Hostname""Host""Server""Data Source""ServerName""ServerNode"}
 
       End Get
    End Property

    Private 
Function CreateConnection() As DbConnectionStringBuilder Implements IConnectionManager.CreateConnection
        Return 
New DbConnectionStringBuilder()
 
   End Function

 
   Private Function CreateConnectionStringBuilder(connectionString As String) As DbConnectionStringBuilder Implements IConnectionManager.CreateConnectionStringBuilder
        Dim result 
As DbConnectionStringBuilder CType(NothingDbConnectionStringBuilder)
 
       Try
            If connectionString
.Trim().Length 0 Then
                Dim formatEx 
As New FormatException("ConnectionString is Null")
 
               Throw formatEx
            End 
If
 
           Dim connectionBuilder As DbConnectionStringBuilder CreateConnection()
 
           connectionBuilder.ConnectionString connectionString
            result 
connectionBuilder
        Catch ex 
As ArgumentException
            Throw 
New FormatException(ex.Messageex)
 
       End Try
 
       Return result
    End 
Function

 
   Friend Function GetConnectionHostName(connectionString As StringConnectionType As ConnectionTypes) As String Implements IConnectionManager.GetConnectionHostName
        Dim hostName 
As String CType(NothingString)
 
       If IsHostNameHaveValue(connectionStringConnectionTypehostNameThen
            Return hostName
        End 
If
 
       Return hostName
    End 
Function

 
   Friend Function GetConnectionInfos(connectionString As String) As List(Of ConnectionInfo) Implements IConnectionManager.GetConnectionInfos
        Dim connectionBuilder 
As DbConnectionStringBuilder CreateConnectionStringBuilder(connectionString)
 
       Dim result As List(Of ConnectionInfo) = New List(Of ConnectionInfo)()
 
       For Each key As String In connectionBuilder.Keys
            Dim value 
As String GetValueBound(connectionBuilder(key).ToString())
 
           Dim info As ConnectionInfo = New ConnectionInfo With {.Key key, .Value value}
 
           result.Add(info)
 
       Next
        Return result
    End 
Function

 
   Private Function IsHostNameHaveValue(connectionString As StringConnectionType As ConnectionTypesByRef hostName As String) As Boolean Implements IConnectionManager.IsHostNameHaveValue
        hostName 
CType(NothingString)
 
       Dim connectionBuilder As DbConnectionStringBuilder CreateConnectionStringBuilder(connectionString)
 
       Dim keyWords As IEnumerable(Of String) = CType(NothingIEnumerable(Of String))
 
       Select Case ConnectionType
            Case ConnectionTypes
.ADO
                keyWords 
AdoDotNetConnectionKeys
            Case ConnectionTypes
.ODBC
                keyWords 
OdbcConnectionKeys
            Case ConnectionTypes
.OLEDB
                keyWords 
OleDbConnectionKeys
        End Select

        For Each keyWord 
As String In keyWords
            Dim value 
As Object CType(NothingObject)
 
           If connectionBuilder.TryGetValue(keyWordvalueThen
                If hostName IsNot Nothing Then
                    hostName 
Nothing
                    Return False
                End 
If
 
               hostName value.ToString()
 
           End If
 
       Next

        Return hostName 
<> Nothing
    End 
Function

 
   Protected Friend Function GetValueBound(value As String) As String
        Return value
    End 
Function

End Class 


الكود التالي يوضح كيفية إستخدام الكلاس أعلاه

PHP كود :
Imports RiverNileDataBase

Public Class Form1

    Public str 
As String "provider=microsoft.ace.oledb.12.0 ; data source=" Application.StartupPath "\db.accdb" ";jet oledb:database password=" "" ""

 
   Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        Me
.Text ConnectionManager.Pattern.GetConnectionHostName(strConnectionTypes.ADO)

 
       For Each info As ConnectionInfo In ConnectionManager.Pattern.GetConnectionInfos(str)
 
           ListBox1.Items.Add(info.Key)
 
           ListBox2.Items.Add(info.Value)
 
       Next
    End Sub

End 
Class 

في المرفقات ستجدون نسخة من الكود في شكل فضاء اسماء اسمه RiverNileDataBase
للاسف ليس لدي SQL و لهذا لم أستطع اختبار الكود مع SQL
أتمني أن يكون الكود مفيدا للبعض منكم


الملفات المرفقة
.rar   Test_RiverNileDBConnectionInfo.rar (الحجم : 297.26 ك ب / التحميلات : 126)
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  رقابة قاعدة البيانات (التحديث التلقائي للبيانات ) SqlDependency قناص المدينة 0 517 05-10-23, 04:43 PM
آخر رد: قناص المدينة
Video [درس فيديو] حل مشكلة تغيير مسار قاعدة البيانات مع تقارير كريستال ريبورت رمضان272 0 1,681 23-04-22, 05:56 AM
آخر رد: رمضان272
  [شرح] اتصال بقاعدة بيانات اكسيس , اضافة بيان , تعديل بيان , حذف بيان , عرض البيانات . ahmed salam 25 38,229 23-02-22, 06:04 PM
آخر رد: رضوان الجماعي
  [SQL] تحسين أداء وسرعة قاعدة البيانات SQL SERVER اسامه الهرماوي 0 3,585 28-10-19, 03:12 AM
آخر رد: اسامه الهرماوي
  [VB.NET] برمجة dynamic Buttons مع قواعد البيانات mgr21002100 1 2,853 13-08-19, 05:36 PM
آخر رد: asemshahen5
Rainbow [كود] بعض خواص قواعد البيانات اسامه الهرماوي 2 2,900 13-10-18, 01:39 AM
آخر رد: اسامه الهرماوي
  [درس فيديو] شرح ربط البرنامج بقاعدة بيانات, إدراج حذف تعديل جلب البيانات ( بدون أن تكتب سطر واحد) عبدالله الدوسري 4 6,449 08-02-18, 12:55 AM
آخر رد: Ameer Eagle
  [درس فيديو] حل مشكلة صلاحيات قواعد البيانات عند تغيير مسارها على الجهاز Operating System Error 5 أحمد النجار 1 3,333 31-12-15, 02:52 AM
آخر رد: WAEL ABED
  فيديو بالعربي تبادل البيانات بين Excel و VB.net أحمد النجار 0 3,777 03-06-15, 10:53 PM
آخر رد: أحمد النجار
  برمجة قواعد البيانات sql server + vb.net ابوهديل 1 9,282 13-02-14, 08:26 PM
آخر رد: Omar Mekkawy

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم