在 C# 中建立資料表
本教程將討論在 C# 中建立和填充資料表的方法。
在 C# 中使用 DataTable
類建立資料表
DataTable
類用於在 C# 中建立資料表。資料表表示帶有 C# 中的關係資料的表。當我們首先使用 DataTable
類建立資料表時,它沒有指定的架構。我們必須建立並新增 DataColumn
類的物件以指定資料表的結構。我們可以使用 C# 中的 DataTable.Columns.Add()
函式將 DataColumn
類的物件新增到 DataTable
類的物件。
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
}
}
}
在上面的程式碼中,我們建立了名為 Customers
的資料表 workTable
,並建立了兩個不同的列,分別為 column1
和 column2
,其名稱分別為 Column1
和 Column2
。我們通過向其新增兩列來指定 workTable
的架構。現在,我們可以將資料以行的形式新增到我們的表中。
在 C# 中向資料表新增行
要在表中新增一行,我們必須建立 DataRow
類的物件。DataRow
類定義了一個新行,以將資料新增到 C# 中的表中。我們可以使用 C# 中的 DataTable.Row.Add()
函式將 DataRow
類的物件新增到 DataTable
類的物件。以下程式碼示例向我們展示瞭如何使用 C# 中的 DataRow
類將資料新增到表中。
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
DataRow row1 = workTable.NewRow();
row1["Column1"] = "value1";
row1["Column2"] = "value2";
workTable.Rows.Add(row1);
}
}
}
在上面的程式碼中,我們使用 workTable.NewRow()
函式初始化了 DataRow
類的例項 row1
。我們在 row1
中的兩列中新增了資料,並使用 C# 中的 workTable.Rows.Add(row1)
函式將 row1
新增到了 workTable
中。
我們還可以使用以下方法將新行新增到表中。
object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);
在上面的程式碼中,我們向 workTable
表新增了新行,而沒有建立 DataRow
類的例項。下面給出了另一種可用於在 C# 中向我們的表插入新行的方法。
workTable.Rows.Add("direct value1", "direct value2");
在上面的程式碼中,我們直接將值新增到 workTable
表的新行中,甚至沒有宣告物件陣列。
在 C# 中將資料表的資料匯出到 XML
現在,我們已經使用 DataTable
類建立了表,並通過 DataColumn
類定義了表的結構,並向表中新增了多行,現在可以顯示錶。我們可以使用 C# 中的 DataTable.WriteXml()
函式將整個表匯出到 xml 檔案中。DataTable.WriteXml(path)
函式用於將表的所有資料寫入 path
中的 xml 檔案。以下程式碼示例向我們展示瞭如何使用 C# 中的 DataTable.WriteXml()
函式將表資料寫入 xml 檔案。
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
DataRow row1 = workTable.NewRow();
row1["Column1"] = "value1";
row1["Column2"] = "value2";
workTable.Rows.Add(row1);
object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);
workTable.Rows.Add("direct value1", "direct value2");
workTable.WriteXml("workTable.xml");
}
}
}
在上面的程式碼中,我們使用 C# 中的 workTable.WriteXml("workTable.xml")
函式將 workTable
表中的所有資料匯出到 xml 檔案 workTable.xml
中。workTable.xml
檔案的內容在下面給出。
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<Customers>
<Column1>value1</Column1>
<Column2>value2</Column2>
</Customers>
<Customers>
<Column1>object value1</Column1>
<Column2>object value2</Column2>
</Customers>
<Customers>
<Column1>direct value1</Column1>
<Column2>direct value2</Column2>
</Customers>
</DocumentElement>
在 C# 中將資料表的結構匯出為 XML
相反,我們也可以僅將表的架構或結構匯出到 C# 中的 xml 檔案中。DataTable.WriteXmlSchema(path)
函式用於將資料表的結構寫入 path
中的 xml 檔案。以下程式碼示例向我們展示瞭如何使用 C# 中的 DataTable.WriteXmlSchema(path)
函式將表的結構寫入 xml 檔案。
using System.Data;
namespace data_table {
class Program {
static void Main(string[] args) {
DataTable workTable = new DataTable("Customers");
DataColumn column1 = new DataColumn("Column1");
DataColumn column2 = new DataColumn("Column2");
workTable.Columns.Add(column1);
workTable.Columns.Add(column2);
DataRow row1 = workTable.NewRow();
row1["Column1"] = "value1";
row1["Column2"] = "value2";
workTable.Rows.Add(row1);
object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);
workTable.Rows.Add("direct value1", "direct value2");
workTable.WriteXml("workTable.xml");
workTable.WriteXmlSchema("workTableSchema.xml");
}
}
}
在上面的程式碼中,我們使用 C# 中的 workTable.WriteXmlSchema("workTableSchema.xml")
函式將 workTable
表的結構匯出到 xml 檔案 workTableSchema.xml
中。workTable.Schema.xml
檔案的內容在下面給出。
<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Customers" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Customers">
<xs:complexType>
<xs:sequence>
<xs:element name="Column1" type="xs:string" minOccurs="0" />
<xs:element name="Column2" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn