這次是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();
}
}
}
}
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();
}
}
}
}
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();
}
}
}
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();
}
}
}