Author:
水如烟
HOW TO:可视化配置数据源连接字符串(一)
文件AdoConnectionDialog.vb
Option
Strict
Off
![](https://i-blog.csdnimg.cn/blog_migrate/130ae5b8f553cef9daef591fca25f9dd.gif)
Namespace uData
Namespace uData.ConnectionUI
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Public Class AdoConnectionDialogClass AdoConnectionDialog
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Private gConnectionString As String = Nothing
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Public Property ConnectionString()Property ConnectionString() As String
Get
Return gConnectionString
End Get
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Set(ByVal value As String)
gConnectionString = value
End Set
End Property
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
Public Function ShowDialog()Function ShowDialog() As System.Windows.Forms.DialogResult
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Return ShowDialog(Nothing)
End Function
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
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
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Dim AdoConnection As Object
Dim DataLinks As Object = CreateObject("DataLinks")
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
If owner Is Nothing Then
DataLinks.hWnd = IntPtr.Zero
Else
DataLinks.hWnd = owner.Handle
End If
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
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)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
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
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
If mResult = System.Windows.Forms.DialogResult.OK Then
gConnectionString = AdoConnection.ConnectionString
End If
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
AdoConnection = Nothing
DataLinks = Nothing
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
Return mResult
End Function
End Class
End Namespace
上面的类可视化生成或编辑一个AdoConnection的数据源连接字符串.测试代码如下(各位使用时注意命名空间):
Dim
t
As
New
LzmTW.uData.ConnectionUI.AdoConnectionDialog
![](https://i-blog.csdnimg.cn/blog_migrate/130ae5b8f553cef9daef591fca25f9dd.gif)
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的连接字符串有关特性
HOW TO:可视化配置数据源连接字符串(一)
文件AdoConnectionDialog.vb
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/130ae5b8f553cef9daef591fca25f9dd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9ca0e8045917fa637f9626c2ffde33c7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/2a596131bedb6917a824aff7b32d40db.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6bff3c6dabb6abda752a92f7b5eb9220.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/695dd038868e929a8ab171b23222720a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/bfbc5bcd11195c273c0537af3d4d5e5e.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
上面的类可视化生成或编辑一个AdoConnection的数据源连接字符串.测试代码如下(各位使用时注意命名空间):
![](https://i-blog.csdnimg.cn/blog_migrate/e1d325a9544fd9655850835de9aa0988.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/130ae5b8f553cef9daef591fca25f9dd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/9ca0e8045917fa637f9626c2ffde33c7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1a529fe8858c8886aa6e01db8070eb7a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/bfbc5bcd11195c273c0537af3d4d5e5e.gif)
下面的处理关键是我们常用到的OleDbConnection、OdbcConnection、SqlConnection的ConnectionString与AdoConnection的ConnectionString如何相互转换。这好象并不简单,看来还得掌握一些AdoConnection的相关特性才行。
还得分节。下一节,AdoConnection的连接字符串有关特性