プログラミングのメモ

プログラミングの学び直し備忘録

C#:ADO(非接続型)

[267] データセット/データテーブル データ取得

[267] データセット/データテーブル データ取得

cnstr :
cn(cnstr)
cn → cn.Open
cn → cn.State
cn → cn.Close

        string _sProvider = @"Microsoft.ACE.OLEDB.12.0";
        string _sDataSorce = @"D:\_Prog\CS\ADO\Northwind.accdb";
        string _sPass = @"pass";

        /// <summary>
        /// 
        /// </summary>
        public 非接続型_frm()
        {
            InitializeComponent();
        }
        //#####################################################
        /// <summary>
        /// [267]  データセット/データテーブル データ取得
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        //#####################################################
        private void btn_267_データセット_データテーブル_データ取得_Click(object sender, EventArgs e)
        {
            //------------------
            // ds
            //------------------
            DataSet ds = mth_267_データセット_データテーブル_データ取得_DS();
            //this.dgv.DataSource = ds.Tables[0];
            this.dgv.DataSource = ds.Tables["T1"];
            this.Refresh();

            this.dgv.DataSource = null;
            this.dgv.Rows.Clear();
            this.Refresh();

            //this.dgv.DataSource = ds.Tables[1];
            this.dgv.DataSource = ds.Tables["T2"];
            this.Refresh();


            this.dgv.DataSource = null;
            this.dgv.Rows.Clear();
            this.Refresh();

            //------------------
            // dt
            //------------------
            DataTable dt = mth_267_データセット_データテーブル_データ取得_DT();
            this.dgv.DataSource = dt;
            this.Refresh();


        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        private DataSet mth_267_データセット_データテーブル_データ取得_DS()
        {
            DataSet ds = new DataSet("t_社員");

            DataTable dt1 = new DataTable("T1");
            DataTable dt2 = new DataTable("T2");

            //---------------------------------------------------------------
            OleDbConnectionStringBuilder cnstr = new OleDbConnectionStringBuilder();
            cnstr["Provider"] = _sProvider;
            cnstr["Data Source"] = _sDataSorce;
            cnstr["Jet OLEDB:Database Password"] = _sPass;

            OleDbConnection cn = new OleDbConnection(cnstr.ToString());
            cn.Open();

            //---------------------------------------------------------------
            // 
            //---------------------------------------------------------------
            string sSQL = "";
            sSQL += "SELECT * FROM 社員";

            OleDbDataAdapter ad = new OleDbDataAdapter(sSQL, cn);
            ad.Fill(dt1);

            ds.Tables.Add(dt1);

            //---------------------------------
            sSQL = "";
            sSQL += "SELECT 氏名 FROM 社員";

            ad = new OleDbDataAdapter(sSQL, cn);
            ad.Fill(dt2);

            ds.Tables.Add(dt2);

            cn.Close();

            //---------------------------------------------------------------
            return ds;

        }
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        private DataTable mth_267_データセット_データテーブル_データ取得_DT()
        {
            DataTable dt = new DataTable();

            //---------------------------------------------------------------
            OleDbConnectionStringBuilder cnstr = new OleDbConnectionStringBuilder();
            cnstr["Provider"] = _sProvider;
            cnstr["Data Source"] = _sDataSorce;
            cnstr["Jet OLEDB:Database Password"] = _sPass;

            OleDbConnection cn = new OleDbConnection(cnstr.ToString());
            cn.Open();

            //---------------------------------------------------------------
            // 
            //---------------------------------------------------------------
            string sSQL = "";
            sSQL += "SELECT * FROM 社員";

            OleDbDataAdapter ad = new OleDbDataAdapter(sSQL, cn);
            ad.Fill(dt);

            cn.Close();
            //---------------------------------------------------------------
            return dt;

        }