0

在我的工作中,我们的大部分数据都围绕着单个 ODBC 数据源——然而,我们有数百个 VBA 宏被数千个 ADODB 连接和记录集对象的显式实例(都通过同一个 DSN 连接)污染。

我想重构很多代码,目前的形式是:

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

cn.Open "MYDSN"
SQL = "SELECT * FROM [...]"
rs.Open SQL, cn

' utilize rs ...

rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing

我在想象一个可重用的类 dll,可能是用 C#.NET 编写的,它会提供一个简单的接口来更简洁地完成上述操作。

我的问题是,你将如何着手设计这门课?我对 C# 还很陌生,但想避免给下一个人留下同样的烂摊子。

提前致谢!

4

2 回答 2

1

Enterprise Library 5.0 is good place to start. It has pretty much everything you need built right in. No need to reinvent the wheel. http://msdn.microsoft.com/en-us/library/ff664408%28v=pandp.50%29.aspx

于 2012-11-05T16:41:29.230 回答
1

Applying the good old KISS principle - create one static method CreateRecordset(string SQL) that reads the DSN from configuration, opens the connection and return the recordset object for the given SQL.

于 2012-11-05T16:41:30.220 回答