0

ユーザーが最初のフォームからログインする必要があるこのc#アプリケーションがあります。検証が true を返した場合、form2 が開きます。

form1 に入力したのと同じユーザー資格情報を使用して、これらすべてのフォームを通じて単一の接続を維持したいと考えています。ODP.NET を使用して oracle 11g に接続しています。

ありがとう。

4

2 に答える 2

2

.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に興味があるかもしれません

于 2012-09-20T06:54:40.123 に答える
0

Sqlconnection のプロパティを持つ静的クラスを宣言する場合のように、静的接続文字列クラスを作成します。任意のフォームまたは他のクラスで直接アクセスできます。ここにクラスのサンプルがあります

public static class Connection
    {
        private static SqlConnection sqlconn;
        public static SqlConnection getconnection() {
            if (sqlconn==null)
               sqlconn = new SqlConnection("Connectionsting.");
            return sqlconn;
        }


    }
于 2012-09-20T06:25:34.700 に答える