Ejemplo n.º 1
0
        //[DbAccess]executeReaderによるデータ出力の実装
        private static void DbAccess(
            DlgFactory targetFct, DlgConn targetCnn, DlgAccessMethod targetAccessMethod)
        {
            //接続プロバイダの指定(ファクトリオブジェクト)
            DbProviderFactory fct = targetFct();

            //接続の作成
            using (DbConnection cnn = fct.CreateConnection())
            {
                //接続文字列のセット
                cnn.ConnectionString = targetCnn(fct);
                //データ抽出
                targetAccessMethod(fct, cnn, GetSQLString());
            }
        }
Ejemplo n.º 2
0
        //[Main]メイン処理
        static void Main(string[] args)
        {
            //デリゲートにメソッドをセット
            DlgConn cnn = ConnectionStringORA;       //接続先情報(共通)
            //接続プロバイダ
            DlgFactory odpfct = FactoryODP;          //ODP.Net(Oracle実装)
            DlgFactory adofct = FactoryADO;          //ADO.Net(MS実装:廃止される)
            //実装方法
            DlgAccessMethod exrd = UseExecuteReader; //executeReadeによる実装
            DlgAccessMethod dtap = UseDataAdapter;   //dataAdapterによる実装

            //データ取込み
            Console.WriteLine("[1.ODP.Net(Oracle実装) & executeReader]");
            DbAccess(odpfct, cnn, exrd);

            Console.WriteLine("[2.ADO.Net(MS実装) & executeReader]");
            DbAccess(adofct, cnn, exrd);

            Console.WriteLine("[3.ODP.Net(Oracle実装) & dataAdapter]");
            DbAccess(odpfct, cnn, dtap);

            Console.WriteLine("[4.ADO.Net(MS実装) & dataAdapter]");
            DbAccess(adofct, cnn, dtap);
        }