Visual Studio 2005 初体验之三:使用DBFactory class连接数据库
2006-12-11 19:59
429 查看
Visual Studio 2005 初体验之三:使用DBFactory class连接数据库
在以前开发的项目中,连接到不同的数据源需要使用不同的代码,VS2005中的DBFactory class则可以完成对不同数据源的连接使用相同的代码。因此,如果在一个项目中需要使用多个数据源(如Access、SQLServer、Foxpro等),那么VS2005为开发者提供了很好的途径。实例:
1、新建一个工程,按照图示的要求布置界面。
2、GetData button click事件的代码:
2.1、获得使用的数据库名称:
Dim myName As String = providerComboBox.SelectedItem.ToString()
2.2、定义连接数据库对象:
Dim myConnectionSettings As ConnectionStringSettings = ConfigurationManager.ConnectionStrings(myName)
Dim myProvider As DbProviderFactory = DbProviderFactories.GetFactory(myConnectionSettings.ProviderName)
Dim myConnection As DbConnection = myProvider.CreateConnection()
myConnection.ConnectionString = myConnectionSettings.ConnectionString
2.3、打开数据库连接对象:
myConnection.Open()
2.4、为datagrid定义一个数据集:
Dim myAdapter As DbDataAdapter = myProvider.CreateDataAdapter()
Dim myCommand As DbCommand = myProvider.CreateCommand()
Dim myQuery As String = "SELECT * FROM SampleData"
Dim myDataSet As DataSet = New DataSet()
myCommand.Connection = myConnection
myCommand.CommandText = myQuery
myAdapter.SelectCommand = myCommand
myAdapter.Fill(myDataSet)
2.5、绑定datagrid:
displayDataGridView.DataSource = myDataSet.Tables(0)
3、获得服务器和数据库连接字符串信息:
providerNameTextLabel.Text = "Provider: " & myConnectionSettings.ProviderName.ToString()
connectionStringLabel.Text = "ConnectString:" & myConnectionSettings.ConnectionString.ToString()
4、完整的代码如下:
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports System.Data.Common
Imports System.Configuration
Imports System.Diagnostics
Public Class factoryClassesForm
Private Sub getDataButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles getDataButton.Click
Try
'' Get the name of the database we are going to use
Dim myName As String = providerComboBox.SelectedItem.ToString()
'' Get the connection settings from the configuration file based on the name selected
'' in the ComboBox
Dim myConnectionSettings As ConnectionStringSettings = ConfigurationManager.ConnectionStrings(myName)
'' Create an instance of the DbProviderFactory by using the Provider name in the config file
Dim myProvider As DbProviderFactory = DbProviderFactories.GetFactory(myConnectionSettings.ProviderName)
'' Create the connection from the DbProvider factory, this code does not need to change for
'' for different providers
Dim myConnection As DbConnection = myProvider.CreateConnection()
'' Get the connection string from the connectionsettings
'' This gets us the specific provider by which we will connect
myConnection.ConnectionString = myConnectionSettings.ConnectionString
'' Open the connection
myConnection.Open()
'' now we can create the DataAdapter and then create a command
Dim myAdapter As DbDataAdapter = myProvider.CreateDataAdapter()
Dim myCommand As DbCommand = myProvider.CreateCommand()
'' Create the DataSet so that we can populate the datagrid
Dim myQuery As String = "SELECT * FROM SampleData"
Dim myDataSet As DataSet = New DataSet()
myCommand.Connection = myConnection
myCommand.CommandText = myQuery
myAdapter.SelectCommand = myCommand
myAdapter.Fill(myDataSet)
displayDataGridView.DataSource = myDataSet.Tables(0)
'' with other provider and connection string information
providerNameTextLabel.Text = "Provider: " & myConnectionSettings.ProviderName.ToString()
connectionStringLabel.Text = "ConnectString:" & myConnectionSettings.ConnectionString.ToString()
Catch ex As Exception
MessageBox.Show("There was an error retrieving data. Please try again.", "Alert")
End Try
End Sub
Private Sub factoryClassesForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
providerComboBox.SelectedIndex = 0
End Sub
End Class
5、运行后的效果如图:
相关文章推荐
- 通过Visual Studio 2005 中的数据源选择对话框实现数据库连接配置(用户使用)
- Visual Studio 2005和SQL Server 2005创建数据库连接
- 使用Visual Studio的动态连接库创建通用数据库连接对话框
- visual studio 2017使用NHibernate4.0连接oracle11g数据库
- 使用powerdesigner连接数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Drive
- 使用powerdesigner连接数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Drive
- 在 Oracle 数据库上使用 Visual Studio 2005 或 2008 构建 .NET 应用程序
- Visual C# 2008+SQL Server 2005 数据库与网络开发--8.2.1 使用连接字符串
- 使用JDBC连接SQL Server 2005数据库
- vs 2005 的使用和数据库sql server2005连接(1)
- ADO.NET编程(2)使用Visual Studio 2010连接向导创建数据库连接
- 在 Oracle 数据库上使用 Visual Studio 2005 或 2008 构建 .NET 应用程序
- 使用powerdesigner连接数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Drive
- 使用Visual Studio自带的数据库连接字符串对话框
- Visual Studio 2005和SQL Server 2005创建数据库连接
- 使用JDBC连接MSSQL数据库中2000/2005/2008的区别
- 在 Oracle 数据库上使用 Visual Studio 2005 或 2008 构建 .NET 应用程序(官方文章转载)
- 使用MyEclipse 6.0连接SQL 2000和2005数据库(JDBC) 遇到的问题,急需解决
- SQL Server 2005数据库使用机器名称和localhost都能连接,但是使用IP地址却不能连接的问题
- 使用Visual Studio的动态连接库创建通用数据库连接对话框