有多种方法可以连接到ASP.NET和VB.NET中任何类型的数据库
这就是我目前的做法。 我尝试在多层(n层)体系结构中进行开发,以使我的DATA层与其他层分开; 业务逻辑与演示
- 第一步:在主项目的web.config中添加所需的connectionStrings条目
其中| DataDirectory | 是我的Presentation层中的App_Data文件夹(解决方案中的主项目)<connectionStrings> <add name="Districts" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|DistrictsMSAccessDBFile.mdb" providerName="System.Data.OleDb"/> <add name="CDB1" connectionString="Data Source=CDB.CORPORATE.DBNAME;User Id=USRNAME;Password=PSSWRD;Persist Security Info=True" providerName="System.Data.OracleClient"/> </connectionStrings>
... - 在DATA层(IMP.Data)(我的解决方案中的其他项目)中创建数据库帮助程序类,我连接到多个数据源; Oracle和MS Access
Imports System.Data.OleDb Imports System.Data.OracleClient Public Class DatabaseHelper #Region "Helpers" Friend Shared Function GetOleDbConnectionSkills() As OleDbConnection 'returns the connection string Return New OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings("Districts").ConnectionString) End Function Friend Shared Function GetOracleConnectionCDB1() As OracleConnection 'returns the connection string Return New OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings("CDB1").ConnectionString) End Function #End Region End Class
- 为数据函数创建另一个类,以保持事物的清洁和分离。 尽管这部分代码与步骤2属于同一类
...Imports System.Data.OleDb Imports System.Data.OracleClient Public Class DataAdapter Public Function DataSetOfDistricts() As DataSet Try Dim myDataSet As New DataSet Dim sqlString As String sqlString = " SELECT ID, CODE, NAMEE FROM [DISTRICT] ORDER BY CODE" Using connection As OleDbConnection = DatabaseHelper.GetOleDbConnectionSkills() Using command As New OleDbCommand(sqlString, connection) connection.Open() Dim adapter As New OleDbDataAdapter(command) adapter.Fill(myDataSet) End Using End Using Return myDataSet Catch ex As Exception MsgBox("DataSetOfDistricts" & ex.Message) Return Nothing End Try End Function
- 在我的表示层中,我需要访问数据,例如在一个WebForms的代码背后;
Imports IMP.Data 'my Data layer project Partial Public Class WebForm1 Inherits System.Web.UI.Page Dim dataAdp As New DataAdapter Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub 'this function is used for a DropDownList ObjectDatasource Public Function DataSetOfDistricts() As DataTable Try Dim dt As New DataTable dt = dataAdp.DataSetOfDistricts() Return dt Catch ex As Exception Session("errorMessage") = "DataSetOfDistricts: " & ex.Message Return Nothing End Try End Function
希望能有所帮助
荚