首頁  >  文章  >  後端開發  >  資料集到資料表 C#

資料集到資料表 C#

WBOY
WBOY原創
2024-09-03 15:21:26741瀏覽

以下文章提供了 C# 資料集到資料表的概述。每當必須從資料庫收集資料時,資料集就會在不與資料庫持續連接的情況下完成工作,在資料庫中建立虛擬資料庫,這些虛擬資料庫看起來像原始資料庫,並且資料儲存在同一位置。因此,我們可以說資料集是資料庫結構的表示。資料表是資料庫中一張表的表示,其中行和列在資料庫中被正確命名。它也表示結構中行、列、行和列的約束的快取。 Datatable 是 DotNet 的基礎,其中資料集和資料視圖都使用 Datatable。

什麼是 C# 資料集到資料表?

  • 資料集:資料集提供了一致的可程式模型,無論資料來源為何,這有助於在資料庫中進行資料的記憶體表示。資料集中的表可以藉助 DataTables、DataViews 甚至僅使用資料來建立。我們也可以藉助資料適配器建立資料集。
  • 資料表:資料集中的單一表在資料表的幫助下表示,它可以單獨建立或與資料集協作建立。結構由資料庫中的列、行和約束表示,表中有ForeignKeyConstraint和Unique約束。

將資料集轉換為資料表 C#

將資料集轉換為資料表很容易,因為它已經有表格了。

要寫的查詢是:

DataTable myTable = dataSet.Tables[0]

我們也可以使用名稱來呼叫表格。

DataTable employeesTable = dataSet.Tables["Employees"]

C# 資料集與資料表之間的差異

  • 資料集是表的集合,因此它就是資料表本身。
  • 資料表是構成表格的行和列的集合。
  • 資料集定義了表之間的關係以及將它們包含在資料集中的約束;由於 Datatable 中只表示一張表,因此不需要在 Datatable 中定義關係。
  • 資料集比資料表重,因為資料表只有一個表,但資料集是資料表的集合。
  • 資料表中一次只能取得一行,而資料集中可以顯示多行和多列。

建立表格 C#

我們可以直接或透過資料集建立資料表。資料表建構函數是建立表格的一種方法,另一種方法是對資料集的表屬性使用 add 方法。資料適配器物件具有可用於資料表中架構的 fillschema 方法,或者可以使用預先定義的 xml 架構。

一旦資料集中出現資料表,我們就無法在任何其他資料集中新增相同的表。表的列集合是我們新增從 xml 或 fillschema 方法派生的資料模式的地方。主列對於表以及列的表約束是必需的。在定義架構和列後,可以將資料行物件新增到表格的行中。 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、readonly屬性。我們還可以設定資料表物件並將它們新增至資料集中。應在腳本中設定約束作為主鍵,並且必須將資料列物件新增至表中的列集合中。

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#

資料集:

這是一個資料集的範例。我們在資料集學院中有兩個資料表學生和部門。

代碼:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn