تقييم الموضوع :
  • 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 ك ب / التحميلات : 55)
الرد }}}}
#2
بارك الله فيك أخي العزيز، شكرا على المثال
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [شرح] اتصال بقاعدة بيانات اكسيس , اضافة بيان , تعديل بيان , حذف بيان , عرض البيانات . ahmed salam 20 9,015 26-09-16, 08:12 AM
آخر رد: abumuhannadzym
  [درس فيديو] حل مشكلة صلاحيات قواعد البيانات عند تغيير مسارها على الجهاز Operating System Error 5 أحمد النجار 1 412 31-12-15, 02:52 AM
آخر رد: WAEL ABED
  فيديو بالعربي تبادل البيانات بين Excel و VB.net أحمد النجار 0 547 03-06-15, 10:53 PM
آخر رد: أحمد النجار
  برمجة قواعد البيانات sql server + vb.net ابوهديل 1 5,820 13-02-14, 08:26 PM
آخر رد: Omar Mekkawy
  برمجة قواعد البيانات SQL Server + vb.net مع ابو عبد الرحمن مبرمج أوتار 3 2,457 07-06-13, 06:09 AM
آخر رد: مبرمج أوتار
  لغة وصف البيانات Xml RaggiTech 4 625 06-10-12, 01:01 AM
آخر رد: RaggiTech
  هياكل البيانات Data Structures المكدس Stack: الجزء الثاني محمد شريقي 0 2,684 04-10-12, 02:05 PM
آخر رد: محمد شريقي
  هياكل البيانات Data Structures الصف Queue : الجزء الاول محمد شريقي 0 4,114 04-10-12, 01:59 PM
آخر رد: محمد شريقي
  خصائص جميع أنواع البيانات في Visual Basic RaggiTech 0 1,075 03-10-12, 01:48 PM
آخر رد: RaggiTech
  تحديث قاعدة البيانات باستخدام الأسلوب update و الحدث rowUpdated الخاصdata adapter RaggiTech 0 783 03-10-12, 07:37 AM
آخر رد: RaggiTech

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


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