这次是dataset从多个表中获得数据和dataset数据写入xml还有dataset获取xml数据。
下面是一个省市查询,省名和市名放在两个表中。
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
namespace 省市查询
{
        class Program
        {
                static void Main(string[] args)
                {
                        string connString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;//获取配置文件App.config的连接字符串
                        using (SqlConnection conn = new SqlConnection(connString))
                        {
                                SqlDataAdapter thisDataAdapter = new SqlDataAdapter("select proID,proName from promary",conn);//建立Adapter对象
                                SqlCommandBuilder thisBuild = new SqlCommandBuilder(thisDataAdapter);//建立commandBuild对象
                                DataSet thisDataSet = new DataSet();//创建DataSet
                                //创建sqlDataAdapter来填充thisDataSet
                                SqlDataAdapter proAdapter = new SqlDataAdapter("select * from promary",conn);
                                SqlDataAdapter cityAdapter = new SqlDataAdapter("select * from city",conn);
                                proAdapter.Fill(thisDataSet,"promary");
                                cityAdapter.Fill(thisDataSet,"city");
                                DataRelation promcity = thisDataSet.Relations.Add("promcity", thisDataSet.Tables["promary"].Columns["proID"],thisDataSet.Tables["city"].Columns["proID"]);
                                foreach (DataRow proRow in thisDataSet.Tables["promary"].Rows)
                                {
                                        Console.WriteLine("省/地区:"+proRow["proName"]);
                                        foreach (DataRow city in proRow.GetChildRows(promcity))
                                        {
                                                Console.WriteLine("        市级:"+city["cityName"]);
                                        }

                                }

                                Console.ReadLine();



                        }

                }
        }
}
执行结果:
下面是dataset数据写入xml中
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

namespace 省市查询
{
        class Program
        {
                static void Main(string[] args)
                {
                        string connString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;//获取配置文件App.config的连接字符串
                        using (SqlConnection conn = new SqlConnection(connString))
                        {
                                SqlDataAdapter thisDataAdapter = new SqlDataAdapter("select proID,proName from promary", conn);//建立Adapter对象
                                SqlCommandBuilder thisBuild = new SqlCommandBuilder(thisDataAdapter);//建立commandBuild对象
                                DataSet thisDataSet = new DataSet();//创建DataSet
                                //创建sqlDataAdapter来填充thisDataSet
                                SqlDataAdapter proAdapter = new SqlDataAdapter("select * from promary", conn);
                                SqlDataAdapter cityAdapter = new SqlDataAdapter("select * from city", conn);
                                proAdapter.Fill(thisDataSet, "promary");
                                cityAdapter.Fill(thisDataSet, "city");
                                DataRelation promcity = thisDataSet.Relations.Add("promcity", thisDataSet.Tables["promary"].Columns["proID"], thisDataSet.Tables["city"].Columns["proID"]);
                                promcity.Nested = true;
                                thisDataSet.WriteXml(@"E:\net学习资料\我的程序\省市查询\写入xml\XMLFile.xml");
                                Console.WriteLine("数据写入完成!");
                                Console.ReadLine();



                        }

                }
        }
}
执行结果:
下面是dataset获取xml数据
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace 读入xml到DataSet
{
        class Program
        {
                static void Main(string[] args)
                {
                        DataSet thisDataSet = new DataSet();
                        thisDataSet.ReadXml(@"E:\net学习资料\我的程序\省市查询\写入xml\XMLFile.xml");
                        foreach (DataRow cutRow in thisDataSet.Tables["promary"].Rows)
                        {
                                Console.WriteLine("省/市:"+cutRow["proName"]+"         省/市ID:"+cutRow["proID"]);
                            
                        }
                        Console.ReadLine();
                }
        }
}
Frank