C#에서 DataTable 만들기
-
C#에서
DataTable
클래스를 사용하여 데이터 테이블 만들기 - C#에서 데이터 테이블에 행 추가
- C#에서 데이터 테이블의 데이터를 XML로 내보내기
- 데이터 테이블 구조를 C#에서 XML로 내보내기
이 자습서에서는 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);
위 코드에서DataRow
클래스의 인스턴스를 생성하지 않고workTable
테이블에 새 행을 추가했습니다. 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");
}
}
}
위 코드에서 우리는workTable
테이블 내의 모든 데이터를 C#의workTable.WriteXml("workTable.xml")
함수를 사용하여workTable.xml
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");
}
}
}
위 코드에서workTable
테이블의 구조를 C#의workTable.WriteXmlSchema("workTableSchema.xml")
함수를 사용하여workTableSchema.xml
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