unote 書けば書くほどに

C# 書きかけ

参考ページ)

クラス作成
https://extralab.org/wp/csharp-oracle-xe-db-controlclass-create/

CREATE TABLE
https://docs.snowflake.com/ja/sql-reference/sql/create-table.html

https://medium-company.com/sql-create-table/

https://docs.oracle.com/cd/F35743_01/csharp-driver-table/creating-table.html

using Oracle.ManagedDataAccess.Client;
using System;
using System.Data;
using System.Data.Common;
using System.Windows.Forms;

namespace OracleTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            StartPosition= FormStartPosition.CenterScreen;
        }

        private void button1_Click(object sender, EventArgs e)
        {

            //接続文字列
            string connStr =
                "User Id=SCOTT;" +
                "Password=tiger;" +
                "Data Source=" +
                 "(DESCRIPTION = " +
                 "(ADDRESS = (PROTOCOL = TCP)(HOST = mypcwin)(PORT = 1521))" +
                 "(CONNECT_DATA = " +
                  "(SERVER = DEDICATED) " +
                  "(SERVICE_NAME = XEPDB1)))";

            //日付の条件:2022/11/2より後
            //String strKIJYUNBI = "'" + textBox1.Text + "'";
            //string strKIJYUNBI = "'2022/11/1'";

            //SQL設定:
            //string sqlStr = "select * from DEPT where KOUSHINBI >" + strKIJYUNBI;
            string sqlStr2 = "create table DEPT_BK as select * from DEPT";
            string sqlStr3 = "select * from DEPT_BK";

            //string sqldelStr = "drop table DEPT_BK3";

            try //例外処理
            {
                //コネクションを生成する
                using (OracleConnection conn = new OracleConnection(connStr))
                {
                    //データベースの接続開始
                    conn.Open();
                    Console.WriteLine("接続完了");

                    //コマンドを生成する
                    using (OracleCommand cmd = new OracleCommand(sqlStr2))
                    {
                        cmd.Connection = conn;
                        cmd.CommandType = CommandType.Text;

                        //SQL実行
                        DataTable dt = new DataTable();//データテーブル
                        using (var da = new OracleDataAdapter(cmd))
                        {
                            //connection.Open();
                            da.Fill(dt);
                        }
                    }

                    //dataGridView1.DataSource = dt;

                    //コマンドを生成する
                    using (OracleCommand cmd2 = new OracleCommand(sqlStr3))
                    {
                        cmd2.Connection = conn;
                        cmd2.CommandType = CommandType.Text;

                        //SQL実行
                        DataTable table = new DataTable();
                        var adapter = new OracleDataAdapter(cmd2);
                        adapter.Fill(table);
                    }

                    using (OracleCommand cmd3 = new OracleCommand(sqlStr3))
                    {
                        cmd3.Connection = conn;
                        cmd3.CommandType = CommandType.Text;

                        //コピー先テーブル:DEPT_BK
                        DataTable dt2 = new DataTable();
                        using (var da2 = new OracleDataAdapter(cmd3))
                        {
                            da2.Fill(dt2);
                        }

                        dataGridView2.DataSource = dt2;
                    }
                }
            }
            catch (Exception ex) //例外時の出力メッセージ
            {
                Console.WriteLine(ex);
            }
        }
    }
}