次の記事では、Dataset to Datatable C# の概要を説明します。データベースからデータを収集する必要がある場合は常に、データセットはデータベースと継続的に接続することなく処理を実行し、元のデータベースと同じように見える仮想データベースが作成され、データが同じ場所に保存されます。したがって、データセットはデータベース構造を表現したものであると言えます。データテーブルは、データベース内の行と列に適切な名前が付けられている、データベース内の 1 つのテーブルを表現したものです。また、構造内の行、列のキャッシュ、行と列の両方の制約も表します。 Datatable は DotNet のベースであり、データセットとデータ ビューは Datatable を利用します。
データセットにはすでにテーブルがあるため、データセットをデータテーブルに変換するのは簡単です。
作成するクエリは次のとおりです:
DataTable myTable = dataSet.Tables[0]
名前を使用してテーブルを呼び出すこともできます。
DataTable employeesTable = dataSet.Tables["Employees"]
データテーブルは直接またはデータセットを通じて作成できます。データテーブル コンストラクターはテーブルを作成する 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# のデータテーブルへのデータセットの例です。
データセット:
これはデータセットの例です。データセット カレッジ内には 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 サイトの他の関連記事を参照してください。