Vb.net-database-access
VB.Net-データベースアクセス
アプリケーションはデータベースと通信し、まずデータベースに保存されたデータを取得してユーザーフレンドリーな方法で表示し、次にデータベースにデータを挿入、変更、削除して更新します。
Microsoft ActiveX Data Objects.Net(ADO.Net)は、データの取得、アクセス、更新のために.Netアプリケーションで使用される.Netフレームワークの一部であるモデルです。
ADO.Netオブジェクトモデル
ADO.Netオブジェクトモデルは、さまざまなコンポーネントを通る構造化されたプロセスフローに他なりません。 オブジェクトモデルは図式的に次のように記述できます-
データストアまたはデータベースにあるデータは、*データプロバイダー*を介して取得されます。 データプロバイダーのさまざまなコンポーネントは、アプリケーションのデータを取得し、データを更新します。
アプリケーションは、データセットまたはデータリーダーを介してデータにアクセスします。
- *データセット*は、切断されたキャッシュにデータを保存し、アプリケーションはそこからデータを取得します。
- *データリーダー*は、読み取り専用モードおよび転送専用モードでアプリケーションにデータを提供します。
データプロバイダー
データプロバイダーは、データベースへの接続、コマンドの実行、データの取得、データセットへの保存、取得したデータの読み取り、データベースの更新に使用されます。
ADO.Netのデータプロバイダーは、次の4つのオブジェクトで構成されています-
Sr.No. | Objects & Description |
---|---|
1 |
Connection このコンポーネントは、データソースとの接続を設定するために使用されます。 |
2 |
Command コマンドは、データソース内のデータを取得、挿入、削除、または変更するために使用されるSQLステートメントまたはストアドプロシージャです。 |
3 |
DataReader データリーダーは、読み取り専用モードおよび転送専用モードでデータソースからデータを取得するために使用されます。 |
4 |
DataAdapter データはデータアダプターを介してデータベースとの間で転送されるため、これはADO.Netの動作に不可欠です。 データベースからデータセットにデータを取得し、データベースを更新します。 データセットに変更が加えられると、データベースの変更は実際にデータアダプターによって行われます。 |
ADO.Netには、次の種類のデータプロバイダーが含まれています。
- SQL Server用の.Net Frameworkデータプロバイダー-Microsoft SQL Serverへのアクセスを提供します。
- OLE DB用の.Net Frameworkデータプロバイダー-OLE DBを使用して公開されたデータソースへのアクセスを提供します。
- ODBC用の.Net Frameworkデータプロバイダー-ODBCによって公開されるデータソースへのアクセスを提供します。
- Oracle用の.Net Frameworkデータプロバイダー-Oracleデータソースへのアクセスを提供します。
- EntityClientプロバイダー-Entity Data Model(EDM)アプリケーションを介してデータにアクセスできるようにします。
データセット
次の図は、データセットオブジェクトモデルを示しています-
DataSetクラスは System.Data 名前空間に存在します。 次の表では、DataSetのすべてのコンポーネントについて説明します-
Sr.No. | Components & Description |
---|---|
1 |
DataTableCollection これには、データソースから取得したすべてのテーブルが含まれます。 |
2 |
DataRelationCollection データセット内のテーブル間の関係とリンクが含まれます。 |
3 |
ExtendedProperties これには、データを取得するためのSQLステートメント、取得時間などの追加情報が含まれています。 |
4 |
DataTable データセットのDataTableCollectionのテーブルを表します。 DataRowおよびDataColumnオブジェクトで構成されます。 DataTableオブジェクトでは大文字と小文字が区別されます。 |
5 |
DataRelation データセットのDataRelationshipCollectionの関係を表します。 DataColumnオブジェクトを介して2つのDataTableオブジェクトを相互に関連付けるために使用されます。 |
6 |
DataRowCollection DataTableのすべての行が含まれます。 |
7 |
DataView これは、ソート、フィルタリング、検索、編集、およびナビゲーション用のDataTableのカスタマイズされた固定ビューを表します。 |
8 |
PrimaryKey DataTableの行を一意に識別する列を表します。 |
9 |
DataRow DataTableの行を表します。 DataRowオブジェクトとそのプロパティおよびメソッドは、DataTableの値を取得、評価、挿入、削除、および更新するために使用されます。 NewRowメソッドを使用して新しい行を作成し、Addメソッドを使用してテーブルに行を追加します。 |
10 |
DataColumnCollection DataTableのすべての列を表します。 |
11 |
DataColumn DataTableを構成する列の数で構成されます。 |
データベースへの接続
- SqlConnection -Microsoft SQL Serverへの接続用に設計されています。
- OleDbConnection -Microsoft AccessやOracleなどの幅広いデータベースに接続するために設計されています。
例1
testDBという名前のデータベースに、Customersという名前のMicrosoft SQL Serverに保存されたテーブルがあります。 SQL Serverでデータベースとデータベーステーブルを作成するには、「SQL Server」チュートリアルを参照してください。
このデータベースに接続しましょう。 次の手順を実行します-
- [ツール]→[データベースに接続]を選択します
- [接続の追加]ダイアログボックスでサーバー名とデータベース名を選択します。 + M
- [接続のテスト]ボタンをクリックして、接続が成功したかどうかを確認します。
- DataGridViewをフォームに追加します。
- [データソースの選択]コンボボックスをクリックします。
- [プロジェクトデータソースの追加]リンクをクリックします。
- これにより、データソース構成ウィザードが開きます。
- データソースの種類として[データベース]を選択します
- データベースモデルとしてDataSetを選択します。
- 既に設定されている接続を選択します。
- 接続文字列を保存します。
- データベースオブジェクト(この例ではCustomersテーブル)を選択し、[完了]ボタンをクリックします。
- [データのプレビュー]リンクを選択して、結果グリッドにデータを表示します-
Microsoft Visual Studioのツールバーで利用可能な*スタート*ボタンを使用してアプリケーションを実行すると、次のウィンドウが表示されます-
例2
この例では、コードを使用してDataGridViewコントロールのデータにアクセスします。 次の手順を実行します-
- DataGridViewコントロールとボタンをフォームに追加します。
- ボタンコントロールのテキストを「Fill」に変更します。 *以下に示すように、ボタンコントロールをダブルクリックして、ボタンのClickイベントに必要なコードを追加します-
- 上記のコードが実行され、Microsoft Visual Studioツールバーで使用可能な Start ボタンを使用して実行されると、次のウィンドウが表示されます-
- [塗りつぶし]ボタンをクリックすると、データグリッドビューコントロールにテーブルが表示されます-
テーブル、列、行の作成
DataTable、DataColumn、DataRowなどのDataSetコンポーネントを使用して、それぞれテーブル、列、行を作成できることを説明しました。
次の例は、概念を示しています-
実施例3
これまで、コンピューターに既に存在するテーブルとデータベースを使用しました。 この例では、テーブルを作成し、列、行、データを追加して、DataGridViewオブジェクトを使用してテーブルを表示します。
次の手順を実行します-
- DataGridViewコントロールとボタンをフォームに追加します。
- ボタンコントロールのテキストを「Fill」に変更します。
- コードエディターで次のコードを追加します。
- 上記のコードが実行され、Microsoft Visual Studioツールバーで使用可能な Start ボタンを使用して実行されると、次のウィンドウが表示されます-
- [塗りつぶし]ボタンをクリックすると、データグリッドビューコントロールにテーブルが表示されます-