淘先锋技术网

首页 1 2 3 4 5 6 7
Author: 水如烟 

HOW TO:可视化配置数据源连接字符串(一)
  

文件AdoConnectionDialog.vb

Option   Strict   Off
Namespace uData Namespace uData.ConnectionUI
    
Public Class AdoConnectionDialogClass AdoConnectionDialog

        
Private gConnectionString As String = Nothing

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

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



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

            
Return ShowDialog(Nothing)
        
End Function


        
Public Function ShowDialog()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 AdoConnection As Object
            
Dim DataLinks As Object = CreateObject("DataLinks")

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

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

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

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

            AdoConnection 
= Nothing
            DataLinks 
= Nothing

            
Return mResult
        
End Function

    
End Class

End Namespace


上面的类可视化生成或编辑一个AdoConnection的数据源连接字符串.测试代码如下(各位使用时注意命名空间):
     Dim  t  As   New  LzmTW.uData.ConnectionUI.AdoConnectionDialog
    
Private   Sub Button2_Click() 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
            Console.WriteLine(t.ConnectionString)
        
Else
            Console.WriteLine(
"Cancel")
        
End If
    
End Sub

下面的处理关键是我们常用到的OleDbConnection、OdbcConnection、SqlConnection的ConnectionString与AdoConnection的ConnectionString如何相互转换。这好象并不简单,看来还得掌握一些AdoConnection的相关特性才行。
还得分节。下一节,AdoConnection的连接字符串有关特性