プログラミング

ADO.NETによるデータベース接続

ADO.NET(ActiveX Data Objects .NET)は、.NET Frameworkおよび.NET Coreでデータベースと通信するための基盤となる技術です。ADO.NETを使用すると、データベースとアプリケーション間で効率的にデータを操作できます。この技術を使用すると、リレーショナルデータベースとの接続、データの読み取り、書き込み、更新、削除が可能になります。本記事では、ADO.NETの基本的な概念から始まり、データベース接続の確立、データ操作の実行、結果の取得に至るまで、ADO.NETを活用する方法を詳述します。

ADO.NETの基本概念

ADO.NETは、主にデータベースとの接続、データの操作、トランザクションの管理、データの返却などのタスクを行います。ADO.NETは以下の主要コンポーネントで構成されています:

  1. Connection(接続オブジェクト):データベースへの接続を管理します。

  2. Command(コマンドオブジェクト):データベースへのSQLクエリやストアドプロシージャの実行を指示します。

  3. DataReader(データリーダー):SQLクエリ結果の読み取りを効率的に行うためのオブジェクトです。

  4. DataAdapter(データアダプター):データベースからのデータの取得や、更新操作を行うための仲介役を果たします。

  5. DataSet(データセット):複数のテーブルをメモリ上で格納し、データの操作を行うためのオフラインキャッシュ機能を提供します。

これらのコンポーネントを組み合わせることで、データベースとの効果的なやりとりが可能になります。

ADO.NETのデータベース接続の確立

ADO.NETを使用してデータベースに接続するには、まず接続文字列を作成します。接続文字列には、データベースの場所、認証情報、およびその他の設定が含まれます。以下は、SQL Serverデータベースに接続するための簡単な接続文字列の例です:

csharp
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";

次に、SqlConnectionクラスを使用してデータベースに接続します。以下は接続の基本的な流れです:

csharp
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { try { connection.Open(); Console.WriteLine("データベースに接続しました。"); } catch (Exception ex) { Console.WriteLine("接続エラー: " + ex.Message); } } } }

このコードでは、SqlConnectionオブジェクトを使用してデータベースに接続し、Open()メソッドで接続を確立します。接続が成功すれば、「データベースに接続しました。」というメッセージが表示されます。

SQLクエリの実行

接続が確立したら、次にSQLクエリを実行してデータの取得や変更を行います。ADO.NETでは、SqlCommandクラスを使用してSQLコマンドを実行します。以下に、簡単なSELECTクエリを実行し、その結果をSqlDataReaderで取得する例を示します:

csharp
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT * FROM Employees"; SqlCommand command = new SqlCommand(query, connection); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["EmployeeName"]); } } } }

このコードでは、SqlCommandオブジェクトで指定したSQLクエリを実行し、ExecuteReader()メソッドで結果を取得します。その後、SqlDataReaderを使って結果セットからデータを読み取ります。reader["EmployeeName"]で各行の「EmployeeName」列の値を取得しています。

データの更新(INSERT、UPDATE、DELETE)

データベースの内容を更新するためには、ExecuteNonQuery()メソッドを使用します。ExecuteNonQuery()は、INSERT、UPDATE、DELETEなどのデータ変更操作を実行するために使用されます。以下は、INSERTクエリを実行してデータを追加する例です:

csharp
using System; using System.Data.SqlClient; class Program { static void Main() { string connectionString = "Server=myServerAddress;Database=myDataBase

Back to top button