数据集DataSet中的表DataTable是数据库意义的表吗?能对数据集中的表进行关系运算吗? 如果不是表,而是数据行的集合(好象是二维数组?),那么 select average ...指令要我自己来做了?或 select min()...自已写算法求列的最小值? 注意,这时的数据已经是从源数据表中提取出来的在内存中的数据了。(数据量指定,如果是实现功能,设个几万条吧。不过实际应用时可能会以百万条的数据。) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataTable是数据集,不是数据库意义的表,仔细看看MSDN吧 谁说不可以用关系运算啊,ADO.NET的精髓就是这里啊,给端代码看吧,其实DataSet里有很多有用的东东,包括所谓的排序什么的,大家有空多看看.net的SDK包SqlConnection Conn=null;SqlDataAdapter DaRoot=null,DaChild=null;DataSet Ds=new DataSet();Conn=new SqlConnection(PublicLib.ReadConfigSettings("ConnString"));Conn.Open();string SqlCmdText="Sql语句1";DaRoot=new SqlDataAdapter(SqlCmdText,Conn);SqlCmdText="Sql语句2";DaChild=new SqlDataAdapter(SqlCmdText,Conn);DaRoot.Fill(Ds,"Root");DaChild.Fill(Ds,"Child");DataRelation Rel=Ds.Relations.Add("Menu",Ds.Tables["Root"].Columns["ID"],Ds.Tables["Child"].Columns["SubID"]);//建立一个关系int Count=0;string Tmp="";if(Ds.Tables["Root"].Rows.Count!=0){ Sb.Append("<table cellpadding=0 cellspacing=0 border=0>"); foreach(DataRow MainRow in Ds.Tables["Root"].Rows) { //遍历主表 foreach(DataRow ChildRow in MainRow.GetChildRows(Rel)) { //遍历从表 } }}//析构Ds.Dispose();DaRoot.Dispose();DaChild.Dispose();Ds.Dispose();Conn.Close();Conn.Dispose(); 如何数据联动 如何使伪静态只更新部分内容而不生成新页面 还是老问题,请教高手 在winform中怎么使用Console.WriteLine() .net问题 ActiveRecord三角关系如何写? DllImport() 着是啥意思,咋用啊 怎么给线程定时呢? 送大家一段用GDI+画如Windows画图里画虚线矩形选框的代码 奇怪!用c#读取文件,中文部分出现的都是乱码 如何实现保存时,将图片,表格一起保存?? 怎样判断一个dataset中的两张表的结构相同?
SqlDataAdapter DaRoot=null,DaChild=null;
DataSet Ds=new DataSet();Conn=new SqlConnection(PublicLib.ReadConfigSettings("ConnString"));
Conn.Open();string SqlCmdText="Sql语句1";
DaRoot=new SqlDataAdapter(SqlCmdText,Conn);SqlCmdText="Sql语句2";
DaChild=new SqlDataAdapter(SqlCmdText,Conn);DaRoot.Fill(Ds,"Root");
DaChild.Fill(Ds,"Child");DataRelation Rel=Ds.Relations.Add("Menu",Ds.Tables["Root"].Columns["ID"],Ds.Tables["Child"].Columns["SubID"]);//建立一个关系int Count=0;
string Tmp="";
if(Ds.Tables["Root"].Rows.Count!=0)
{
Sb.Append("<table cellpadding=0 cellspacing=0 border=0>"); foreach(DataRow MainRow in Ds.Tables["Root"].Rows)
{
//遍历主表
foreach(DataRow ChildRow in MainRow.GetChildRows(Rel))
{
//遍历从表
}
}
}//析构
Ds.Dispose();
DaRoot.Dispose();
DaChild.Dispose();
Ds.Dispose();
Conn.Close();
Conn.Dispose();