データセットからデータテーブルへ C#

WBOY
リリース: 2024-09-03 15:21:26
オリジナル
759 人が閲覧しました

次の記事では、Dataset to Datatable C# の概要を説明します。データベースからデータを収集する必要がある場合は常に、データセットはデータベースと継続的に接続することなく処理を実行し、元のデータベースと同じように見える仮想データベースが作成され、データが同じ場所に保存されます。したがって、データセットはデータベース構造を表現したものであると言えます。データテーブルは、データベース内の行と列に適切な名前が付けられている、データベース内の 1 つのテーブルを表現したものです。また、構造内の行、列のキャッシュ、行と列の両方の制約も表します。 Datatable は DotNet のベースであり、データセットとデータ ビューは Datatable を利用します。

データセットからデータテーブルへの C# とは何ですか?

  • データセット: データセットは、データ ソースに関係なく一貫したプログラム可能なモデルを提供し、データベース内のデータのメモリ表現を作成するのに役立ちます。データセット内のテーブルは、DataTables、DataViews を使用して、またはデータのみを使用して作成できます。データ アダプターを使用してデータセットを作成することもできます。
  • Datatable: データセット内の単一テーブルは Datatable を使用して表され、単独で、またはデータセットと連携して作成できます。この構造は、テーブルにForeignKeyConstraintとUnique制約を持つデータベースの列、行、制約によって表されます。

データセットをデータテーブル C# に変換

データセットにはすでにテーブルがあるため、データセットをデータテーブルに変換するのは簡単です。

作成するクエリは次のとおりです:

DataTable myTable = dataSet.Tables[0]
ログイン後にコピー

名前を使用してテーブルを呼び出すこともできます。

DataTable employeesTable = dataSet.Tables["Employees"]
ログイン後にコピー

データセットとデータテーブル C# の違い

  • データセットはテーブルのコレクションであるため、データテーブル自体です。
  • データテーブルは、テーブルを形成する行と列のコレクションです。
  • データセットは、テーブル間の関係と、データセット内にテーブルを含める際の制約を定義します。 Datatable で表されるテーブルは 1 つだけであるため、Datatable でリレーションシップを定義する必要はありません。
  • データテーブルにはテーブルが 1 つしかないため、データセットはデータテーブルよりも重くなりますが、データセットはデータテーブルのコレクションです。
  • データテーブルでは一度に 1 行のみフェッチできますが、データセットでは複数の行と列を表示できます。

テーブル C# の作成

データテーブルは直接またはデータセットを通じて作成できます。データテーブル コンストラクターはテーブルを作成する 1 つの方法であり、もう 1 つの方法はデータセットのテーブル プロパティに add メソッドを使用することです。データ アダプター オブジェクトには、データテーブル内のスキーマに使用できる fillschema メソッドがあります。または、事前定義された XML スキーマを使用できます。

データセットにデータテーブルが存在すると、同じテーブルを他のデータセットに追加することはできません。テーブルの列コレクションには、xml メソッドまたは fillschema メソッドから派生したデータ スキーマを追加します。プライマリ列は、列のテーブル制約とともにテーブルに必要です。 Datarow オブジェクトは、スキーマと列の定義後にテーブルの行に追加できます。 Tablename プロパティは空のままにすることも、後で名前を付けることもできるため、初期段階で定義する必要はありません。データセットにテーブルを追加する場合は、テーブルに名前を付けることをお勧めします。テーブル名が繰り返されると例外が発生します。

以下のスクリプトを使用して従業員のテーブルを作成できます。

DataTable currentTable = new DataTable("Employees")
ログイン後にコピー

テーブルをデータセットに追加しています。

DataSet employeeDS = new DataSet();
DataTable empTable = customerDS.Tables.Add("EmpTable");
ログイン後にコピー

この例では、関連するすべての条件が満たされるテーブルを作成し、テーブルに主キーを設定しています。

// Create the Table
DataTable ProjectsTable = new DataTable("Projects");
// Build the Projects schema
projectsTable.Columns.Add("ID"
Type.GetType("System.Int32"));
projectsTable.Columns.Add("Name"
Type.GetType("System.String"));
projectsTable.Columns.Add("Estimate"
Type.GetType("System.Int32"));
// Set up the ID column as the PrimaryKey
DataColumn[] prmk = new DataColumn[1];
prmk[0] = ordersTable.Columns["ID"];
ordersTable.PrimaryKey = prmk;
ordersTable.Columns["ID"].AutoIncrement = true;
ordersTable.Columns["ID"].AutoIncrementSeed = 1;
ordersTable.Columns["ID"].ReadOnly = true;
ログイン後にコピー

Datatable コンストラクターはプロジェクトの作成に使用され、上記の例では、increment、incrementseed、readonlyproperty が設定されています。データテーブル オブジェクトを設定してデータセットに追加することもできます。スクリプト内で主キーとして制約を設定し、テーブル内の列コレクションにデータ列オブジェクトを追加する必要があります。

DataSet employeeDS = new DataSet("EmpProject");
DataTable projectsTable = employeeDS.Tables.Add("Projects");
DataColumn pkCol = projectsTable.Columns.Add("ProjectID", typeof(Int32));
projectsTable.Columns.Add("ProjectType", typeof(Int32));
projectsTable.Columns.Add("CompanyName", typeof(string));
projectsTable.PrimaryKey = new DataColumn[] { pkCol };
New rows can be created with the below example in datatable.
DataRow workRow = currentTable.NewRow();
workRow["ProjectDuration"] = "4 weeks";
workRow[1] = "4 weeks";
currentTable.Rows.Add(workRow);
currentTable.Rows.Add(new Object[] { 1, "4 weeks" });
If we need to add 5 rows to the datatable, following code can be used.
DataRow workRow;
for (int i = 0; i <= 4; i++) {
workRow = currentTable.NewRow();
workRow[0] = i;
workRow[1] = "Duration" + i.ToString();
currentTable.Rows.Add(workRow);
}
ログイン後にコピー

行と列を使用して、テーブル内のコンテンツにアクセスできます。データテーブル内のデータをチェックするための状態や順序などの基準を設定することもできます。 find メソッドは、データテーブル内の行チェックにも機能します。

データセットをデータテーブル C# に変換する例

以下は、C# のデータテーブルへのデータセットの例です。

データセットからデータテーブルへ C#

データセット:

これはデータセットの例です。データセット カレッジ内には 2 つのデータテーブルの学生と学部がいます。

コード:

using System;
using System. Data;
class Program
{
static void Main()
{
// Create 2 DataTable instances.
DataTable table1 = new DataTable("students");
table1.Columns.Add("name");
table1.Columns.Add("id");
table1.Rows.Add("mary", 1);
table1.Rows.Add("amir", 2);
DataTable table2 = new DataTable("department");
table2.Columns.Add("id");
table2.Columns.Add("physics");
table2.Rows.Add(1, "chemistry");
table2.Rows.Add(2, "maths");
// Create a DataSet and put both tables in it.
DataSet set = new DataSet("college");
set.Tables.Add(table1);
set.Tables.Add(table2);
// Visualize DataSet.
Console.WriteLine(set.GetXml());
}
}
ログイン後にコピー

上記のコードを使用して、学生と部門が作成されるデータテーブルを作成できます。その後、要件に基づいてデータをテーブル内に挿入し、データセットで使用できます。

結論

データセットは、ユーザーの要件に基づいてデータを操作し、更新するのに役立つ SqlDataAdapter を利用して入力できます。これは、データのデータフローに接続していない場合でも、データを操作するのに役立ちます。したがって、操作中に毎回データベースにアクセスする必要はありません。

以上がデータセットからデータテーブルへ C#の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート