|
Xml Parsing |
작성일 : |
13/05/27 |
DB의 데이터를 xml파일로 만들기 |
작성자 : |
이후용 |
1. 실행 화면
|
|
[실행 초기 화면과 DB 데이터] |
[버튼 클릭시] |
| |
[결과 화면- xml문서] |
2. 동작원리.
SqlConnection으로 DB에 접근하여 저장프로시저를 실행하고DataColumn을 생성하여 각 칼럼 값을 넣어준 후 DataTable에 넣어준다. 마지막으로 DataSet에 DataTable을 넣어주고 SqlDataReader를 사용하여 DB의 데이터를 while문으로 읽고 xml의 root를 설정해주고 칼럼 값들을 for문을 이용하여 설정해준다. SaveFileDialog를 이용하여 xml형식으로 저장하여 주면 된다.
3. 간략코드보기
string str = @"Data Source=bit24\bit58pc;Initial Catalog=ProjectB;User ID=sa;Password=1";
conn = new SqlConnection();
conn.ConnectionString = str;
conn.Open();
comm = new SqlCommand();
comm.Connection = conn;
comm.CommandText = "select * from ATable";
sdr = comm.ExecuteReader(); // sdr? SqlDataReader
ds = new DataSet();
dt = new DataTable("Average");
dc = new DataColumn("Addr", typeof(string));
dt.Columns.Add(dc);
dc = new DataColumn("total", typeof(float));
dt.Columns.Add(dc);
dc = new DataColumn("dust", typeof(float));
dt.Columns.Add(dc);
dc = new DataColumn("ozone", typeof(float));
dt.Columns.Add(dc);
ds.Tables.Add(dt);
while (sdr.Read())
{
dr = ds.Tables["Average"].NewRow();
for (int i = 0; i <4; i++) // DB의 칼럼 수 dt.Columns.Count
{
dr[i] = sdr.GetValue(i);
}
ds.Tables["Average"].Rows.Add(dr);
}
XmlChange(ds); // SaveFileDialog를이용하여 xml로 저장 하는 부분이다.(알아서 해보기 바란다,)