从应用程序配置文件获取数据库连接字符串的实例
分类:VB.Net
乐博网lob.cn提示:调试环境为 vs2005 + windows2003 / windows2008 / xp / vista + .NET Framework 2.0
代码如下:
Option Strict On
Imports System.Data.SqlClient Imports System.Configuration
Public Class LOB
Private Sub LOB_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' 取得应用程序配置文件。 Dim config As System.Configuration.Configuration = _ ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' 取得 conectionStrings 区段。 Dim csSection As ConnectionStringsSection = config.ConnectionStrings
Dim i As Integer
' 下面这一个循环会将组态文件中各个连接字符串之 XML 标记的 name 属性值 ' 填入 ComboBox 控件中。
For i = 0 To ConfigurationManager.ConnectionStrings.Count - 1 Dim cs As ConnectionStringSettings = csSection.ConnectionStrings(i)
' 我们会避免提取 ASP.NET 2.0 内建之名称为 LocalSqlServer 的连接字符串。 ' 名称为 LocalSqlServer 的连接字符串是撰写在 machine.config 中,它用来 ' 连接至 App_Data 目录中的 SQL Server Express 数据库文件。 If cs.Name <> "LocalSqlServer" Then Me.cboConnections.Items.Add(cs.Name) End If Next i End Sub
Private Sub cboConnections_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboConnections.SelectedIndexChanged ' 显示一个状态讯息对话框来表示我们目前要尝试连结至 SQL Server。 Dim frmStatusMessage As New frmStatus
frmStatusMessage.Show("乐博网www.lob.cn提示:正连接至 SQL Server 中....")
Try Dim ds As New DataSet() Dim cs As ConnectionStringSettings = _ ConfigurationManager.ConnectionStrings(Me.cboConnections.SelectedItem.ToString)
If cs IsNot Nothing Then
TextBox1.Text = _ "连接字符串的名称:" & cs.Name & vbCrLf & _ "连接字符串的内容:" & cs.ConnectionString & vbCrLf & _ "连接字符串的数据提供程序:" & cs.ProviderName
Using cn As New SqlConnection(cs.ConnectionString) cn.Open()
Dim cmdLiming As New SqlCommand("SELECT * FROM sys.tables", cn)
Using drLiming As SqlDataReader = cmdLiming.ExecuteReader()
ds.Load(drLiming, LoadOption.OverwriteChanges, New String() {"数据库列举"})
' 将 BindingSource 组件系结至 DataSet 当中的“数据表列举”数据表。 Me.BindingSource1.DataSource = ds.Tables("数据库列举")
' 将 DataGridView 控件系结至 BindingSource 组件。 Me.DataGridView1.DataSource = Me.BindingSource1
End Using End Using End If Catch ex As Exception MessageBox.Show(ex.Message) End Try
frmStatusMessage.Close() End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
End Sub End Class
|