【C#&OracleDB接続】Database接続クラス作成して管理が容易で開発効率UP

C#.NET

【C#&OracleDB接続】Database接続クラス作成して管理が容易で開発効率UP

oracle

データベースで有名なのがoracleですね。

今回は、Oracle Database Express Edition 11gr2のデータベースを使用します。

無償で商用利用可なので良いのですが、制限がありますので、詳細はググって下さい。

最近はOracleDB18c XE版も出たみたいですね。

18cからDB構造が変わってるのでご注意を。

GUIで管理したい方は、「Oracle SQL Developer」をダウンロードして下さい。

テーブル作成

今回のサンプルでは下記の通りのテーブル定義を作成しました。

oracle_db_table_create

テーブル名:sample

カラム3つは、ID,NAME,REMARKSです。

IDに列シーケンス設定します。(自動インクリメント設定)

C#-DataAccess.dll追加

今回は、C#での.NETFramework4.8でwindowsform開発を行います。

プロジェクトを作成したら、参照の追加から、Oracleがインストールされているディレクトリを探すと、Oracle.DataAccess.dllがあるのでそれを追加します。

oracle_db_dll_add

C#-画面設計

では、今回のプログラムの画面設計はというと、

oracle_db_screen_prod

ボタンを3つ配置、labelを配置、DataGridViewを配置しました。

C#-DB制御クラス作成

では、Oracle.DataAccess.dllを追加したら、

クラスを作成します。

oracle_class_name_add

空のクラスで名前は任意。今回は、Dbctl.csを作成します。

クラス内容のソースコードは下記の通りです。

using Oracle.DataAccess.Client;を参照追加します。

  • OracleConnection   —DB接続
  • OracleCommand   –SQL文作成
  • OracleDataAdapter  –データ取得格納(一括取得) ->データグリッドビューに表示させるなど。
  • OracleDataReader  –データ取得

これらを主に使って、SQL文を実行していきます。

C#-メイン処理

今回は、テーブルデータを表示させることと、データ挿入、データ取得をするプログラムを作成しました。

using Oracle.DataAccess.Client;を追加しています。

結果

プログラムを実行する前に、ビルド設定で対象プラットフォームをx64に設定しておいて下さい。

oracle_x64_select

プログラムを実行すると、テーブル内容がDatagridViewに表示されます。最初に3つデータを入れておきました。

Select_countボタンを押下すると、「3」とレコード件数が表示されます。

oracle_db_before_screen

次に、Insertボタン押下⇒Select_Viewボタン押下⇒Select_countボタン押下を行った結果が下記の通りです。

oracle_db_after_screen

プログラム通りに3つのレコードが挿入された結果が表示されました。

テーブル定義設定でIDカラム列は、シーケンス設定してありましたので、自動インクリメントされています。

その他

他のデータベースでも同様な感じでDB制御クラスを作成してあげれば、管理が容易になり、開発効率も上がり、コードも見やすく、読みやすくなります。

SQLite

【C#からSQLite接続】Database接続のクラスを作成したので管理が容易になった

PostgreSQL

【C#&PostgreSQL接続】Database-controlクラス作成で管理容易