0

次の投稿で受け入れられた回答を読みました: ExecuteReader には、オープンで利用可能な接続が必要です。接続の現在の状態は [接続中] です

インターフェイス (dbConnection) を使用して適切なデータベース、つまり SQL Server (SQLConnection) または Oracle (OracleConnection) に接続するクラスを作成することを考えています。このクラスには、open、close、dispose などのメソッドに加えて、接続文字列を見つけるメソッドがあります。このクラスにより、アプリケーションは dbConnection インターフェイスを使用して、SQL サーバー データベース、Oracle データベース、または Access データベースのいずれかに接続できます。問題のアプリケーションは、多数のデータベースに接続します。

これが、受け入れられた回答に記載されているルールに違反するとは思いません。たとえば、共有変数はありません。ただし、回答に記載されている理由により、これが悪い習慣であるかどうかはわかりません。

必要に応じてコードを投稿します。

4

1 に答える 1

0

System.Data.Common名前空間には、まさにインターフェイスを使用する予定のクラスが存在するため、この点に関しては、そのようなインターフェイスを記述する必要はありません。

名前空間の MSDN ページから:

System.Data.Common のクラスは、すべての .NET Framework データ プロバイダーに対して機能する ADO.NET コードを作成する方法を開発者に提供することを目的としています。

したがって、あとはこれらのクラスを使用して一般的なデータ アクセス コードを記述し、別の場所で実際のプロバイダーを渡すコードを記述するだけです。

于 2012-07-21T19:03:56.493 に答える