私は他の多くの形式を開くメインウィンドウのフォームを持っています。すべてのフォームには、共通のOracleデータベース接続があります。C#でフォーム間のデータベース接続を共有する最善の方法は何ですか?
私はC#の新機能を使用しています(今まではビジュアルベーシックを使用していました)、これを達成するための最良の方法はわかりません。
潜在的なオプション:
- は、入力として、子フォームへの接続を渡します。
- メインウィンドウフォームを親フォームとして子フォームに渡し、そのメンバー変数の接続を使用します。
- 私が考えていない他のオプションです。
編集:機能を実行するサンプルクラスについては、@ C4ud3xの回答を参照してください。
接続はすでにプールされています(https://msdn.microsoft.com/en-us/library/ms254502(v=vs.110).aspx)。それらを渡したり、開いたりしないでください単一の問合せでは、できるだけ早く最適なパフォーマンスを得るために破棄します。 –
あなたは本当に 'ONE'接続を共有していますか?なぜ 'database.cs'のような新しいクラスを追加し、' open-> command-> close'プロセスを宣言し、それをすべてのフォームから使用するのですか? – C4u
@ C4ud3xいい計画のようです。 –