ユーザーが最初のフォームからログインする必要があるこのc#アプリケーションがあります。検証が true を返した場合、form2 が開きます。
form1 に入力したのと同じユーザー資格情報を使用して、これらすべてのフォームを通じて単一の接続を維持したいと考えています。ODP.NET を使用して oracle 11g に接続しています。
ありがとう。
.NET の SQL 接続は、接続プールによって管理されます。したがって、新しい接続オブジェクトをインスタンス化すると、古い閉じられた物理接続が再利用されます。
フォーム1で
using(var c = new SqlConnection("connectionstring"))
{
//use connection here
}
フォーム2で
using(var c = new SqlConnection("connectionstring"))
{
//use connecion here
}
form1 と form2 はデータベースへの同じ物理接続を使用します
接続プーリングはOracle Data Providerでも利用可能
または、 Entity Frameworkに興味があるかもしれません
Sqlconnection のプロパティを持つ静的クラスを宣言する場合のように、静的接続文字列クラスを作成します。任意のフォームまたは他のクラスで直接アクセスできます。ここにクラスのサンプルがあります
public static class Connection
{
private static SqlConnection sqlconn;
public static SqlConnection getconnection() {
if (sqlconn==null)
sqlconn = new SqlConnection("Connectionsting.");
return sqlconn;
}
}