Author:水如烟 
HOW TO:可视化配置数据源连接字符串(一)
  
文件AdoConnectionDialog.vb
 Option Strict Off
Option Strict Off
 Namespace uData.ConnectionUI
Namespace uData.ConnectionUI
 Public Class AdoConnectionDialog
    Public Class AdoConnectionDialog

 Private gConnectionString As String = Nothing
        Private gConnectionString As String = Nothing

 Public Property ConnectionString() As String
        Public Property ConnectionString() As String
 Get
            Get
 Return gConnectionString
                Return gConnectionString
 End Get
            End Get

 Set(ByVal value As String)
            Set(ByVal value As String)
 gConnectionString = value
                gConnectionString = value
 End Set
            End Set
 End Property
        End Property


 Public Function ShowDialog() As System.Windows.Forms.DialogResult
        Public Function ShowDialog() As System.Windows.Forms.DialogResult

 Return ShowDialog(Nothing)
            Return ShowDialog(Nothing)
 End Function
        End Function

 Public Function ShowDialog(ByVal owner As System.Windows.Forms.Form) As System.Windows.Forms.DialogResult
        Public Function ShowDialog(ByVal owner As System.Windows.Forms.Form) As System.Windows.Forms.DialogResult
 Dim mResult As System.Windows.Forms.DialogResult = System.Windows.Forms.DialogResult.OK
            Dim mResult As System.Windows.Forms.DialogResult = System.Windows.Forms.DialogResult.OK

 Dim AdoConnection As Object
            Dim AdoConnection As Object
 Dim DataLinks As Object = CreateObject("DataLinks")
            Dim DataLinks As Object = CreateObject("DataLinks")

 If owner Is Nothing Then
            If owner Is Nothing Then
 DataLinks.hWnd = IntPtr.Zero
                DataLinks.hWnd = IntPtr.Zero
 Else
            Else
 DataLinks.hWnd = owner.Handle
                DataLinks.hWnd = owner.Handle
 End If
            End If

 If gConnectionString Is Nothing OrElse gConnectionString.Trim.Equals(String.Empty) Then '新建字符串
            If gConnectionString Is Nothing OrElse gConnectionString.Trim.Equals(String.Empty) Then '新建字符串
 AdoConnection = DataLinks.PromptNew()
                AdoConnection = DataLinks.PromptNew()
 mResult = IIf(Not AdoConnection Is Nothing, System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel)
                mResult = IIf(Not AdoConnection Is Nothing, System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel)

 Else '编辑已有字符串
            Else '编辑已有字符串
 AdoConnection = CreateObject("ADODB.Connection")
                AdoConnection = CreateObject("ADODB.Connection")
 AdoConnection.ConnectionString = gConnectionString
                AdoConnection.ConnectionString = gConnectionString
 mResult = IIf(DataLinks.PromptEdit(AdoConnection), System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel)
                mResult = IIf(DataLinks.PromptEdit(AdoConnection), System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel)
 End If
            End If

 If mResult = System.Windows.Forms.DialogResult.OK Then
            If mResult = System.Windows.Forms.DialogResult.OK Then
 gConnectionString = AdoConnection.ConnectionString
                gConnectionString = AdoConnection.ConnectionString
 End If
            End If

 AdoConnection = Nothing
            AdoConnection = Nothing
 DataLinks = Nothing
            DataLinks = Nothing

 Return mResult
            Return mResult
 End Function
        End Function
 End Class
    End Class
 End Namespace
End Namespace
 
上面的类可视化生成或编辑一个AdoConnection的数据源连接字符串.测试代码如下(各位使用时注意命名空间):
 Dim t As New LzmTW.uData.ConnectionUI.AdoConnectionDialog
    Dim t As New LzmTW.uData.ConnectionUI.AdoConnectionDialog
 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
 If t.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
        If t.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
 Console.WriteLine(t.ConnectionString)
            Console.WriteLine(t.ConnectionString)
 Else
        Else
 Console.WriteLine("Cancel")
            Console.WriteLine("Cancel")
 End If
        End If
 End Sub
    End Sub
下面的处理关键是我们常用到的OleDbConnection、OdbcConnection、SqlConnection的ConnectionString与AdoConnection的ConnectionString如何相互转换。这好象并不简单,看来还得掌握一些AdoConnection的相关特性才行。
还得分节。下一节,AdoConnection的连接字符串有关特性
HOW TO:可视化配置数据源连接字符串(一)
文件AdoConnectionDialog.vb
 Option Strict Off
Option Strict Off Namespace uData.ConnectionUI
Namespace uData.ConnectionUI Public Class AdoConnectionDialog
    Public Class AdoConnectionDialog
 Private gConnectionString As String = Nothing
        Private gConnectionString As String = Nothing
 Public Property ConnectionString() As String
        Public Property ConnectionString() As String Get
            Get Return gConnectionString
                Return gConnectionString End Get
            End Get
 Set(ByVal value As String)
            Set(ByVal value As String) gConnectionString = value
                gConnectionString = value End Set
            End Set End Property
        End Property

 Public Function ShowDialog() As System.Windows.Forms.DialogResult
        Public Function ShowDialog() As System.Windows.Forms.DialogResult
 Return ShowDialog(Nothing)
            Return ShowDialog(Nothing) End Function
        End Function
 Public Function ShowDialog(ByVal owner As System.Windows.Forms.Form) As System.Windows.Forms.DialogResult
        Public Function ShowDialog(ByVal owner As System.Windows.Forms.Form) As System.Windows.Forms.DialogResult Dim mResult As System.Windows.Forms.DialogResult = System.Windows.Forms.DialogResult.OK
            Dim mResult As System.Windows.Forms.DialogResult = System.Windows.Forms.DialogResult.OK
 Dim AdoConnection As Object
            Dim AdoConnection As Object Dim DataLinks As Object = CreateObject("DataLinks")
            Dim DataLinks As Object = CreateObject("DataLinks")
 If owner Is Nothing Then
            If owner Is Nothing Then DataLinks.hWnd = IntPtr.Zero
                DataLinks.hWnd = IntPtr.Zero Else
            Else DataLinks.hWnd = owner.Handle
                DataLinks.hWnd = owner.Handle End If
            End If
 If gConnectionString Is Nothing OrElse gConnectionString.Trim.Equals(String.Empty) Then '新建字符串
            If gConnectionString Is Nothing OrElse gConnectionString.Trim.Equals(String.Empty) Then '新建字符串 AdoConnection = DataLinks.PromptNew()
                AdoConnection = DataLinks.PromptNew() mResult = IIf(Not AdoConnection Is Nothing, System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel)
                mResult = IIf(Not AdoConnection Is Nothing, System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel)
 Else '编辑已有字符串
            Else '编辑已有字符串 AdoConnection = CreateObject("ADODB.Connection")
                AdoConnection = CreateObject("ADODB.Connection") AdoConnection.ConnectionString = gConnectionString
                AdoConnection.ConnectionString = gConnectionString mResult = IIf(DataLinks.PromptEdit(AdoConnection), System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel)
                mResult = IIf(DataLinks.PromptEdit(AdoConnection), System.Windows.Forms.DialogResult.OK, System.Windows.Forms.DialogResult.Cancel) End If
            End If
 If mResult = System.Windows.Forms.DialogResult.OK Then
            If mResult = System.Windows.Forms.DialogResult.OK Then gConnectionString = AdoConnection.ConnectionString
                gConnectionString = AdoConnection.ConnectionString End If
            End If
 AdoConnection = Nothing
            AdoConnection = Nothing DataLinks = Nothing
            DataLinks = Nothing
 Return mResult
            Return mResult End Function
        End Function End Class
    End Class End Namespace
End Namespace
上面的类可视化生成或编辑一个AdoConnection的数据源连接字符串.测试代码如下(各位使用时注意命名空间):
 Dim t As New LzmTW.uData.ConnectionUI.AdoConnectionDialog
    Dim t As New LzmTW.uData.ConnectionUI.AdoConnectionDialog Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If t.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then
        If t.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then Console.WriteLine(t.ConnectionString)
            Console.WriteLine(t.ConnectionString) Else
        Else Console.WriteLine("Cancel")
            Console.WriteLine("Cancel") End If
        End If End Sub
    End Sub下面的处理关键是我们常用到的OleDbConnection、OdbcConnection、SqlConnection的ConnectionString与AdoConnection的ConnectionString如何相互转换。这好象并不简单,看来还得掌握一些AdoConnection的相关特性才行。
还得分节。下一节,AdoConnection的连接字符串有关特性
 
                    
                     
                    
                 
                    
                 
        
 
     
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号