0

私の仕事では、ほとんどのデータは単一のODBCデータソースを中心に展開していますが、ADODB接続とレコードセットオブジェクトの数千の明示的なインスタンス(すべて同じDSNを介して接続されている)で汚染された数百のVBAマクロがあります。

現在リファクタリングしたいコードがかなりありますが、現在は次の形式になっています。

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

上記をより簡潔に実現するためのシンプルなインターフェイスを提供する、おそらくC#.NETで記述された再利用可能なクラスdllを想像しています。

私の質問は、このクラスの設計にどのように着手するのかということです。私はC#にかなり慣れていませんが、次の人のために同じ混乱を残さないようにしたいと思います。

前もって感謝します!

4

2 に答える 2

1

EnterpriseLibrary5.0から始めるのが良いでしょう。必要なものはほとんどすべて組み込まれています。車輪の再発明をする必要はありません。 http://msdn.microsoft.com/en-us/library/ff664408%28v=pandp.50%29.aspx

于 2012-11-05T16:41:29.230 に答える
1

古き良きKISSの原則を適用する-CreateRecordset(string SQL)構成からDSNを読み取り、接続を開き、指定されたSQLのレコードセットオブジェクトを返す静的メソッドを1つ作成します。

于 2012-11-05T16:41:30.220 に答える