问题如题,现在有以下几个表:
table1:
clOwnID clOwnname clOwnPwd clOwnAge
table2:
cluserID clusername cluserPwd cluserAge
table3:
clMyID clMyname clMyPwd clMyAge
table4:
clYouID clYouname clYouPwd clYouAge现在的目的是将他们读进来,然后合成为一个datatable,然后跟datagrid相连接,不知道怎么写,麻烦大侠提供点建议或者代码:
table1:
clOwnID clOwnname clOwnPwd clOwnAge
table2:
cluserID clusername cluserPwd cluserAge
table3:
clMyID clMyname clMyPwd clMyAge
table4:
clYouID clYouname clYouPwd clYouAge现在的目的是将他们读进来,然后合成为一个datatable,然后跟datagrid相连接,不知道怎么写,麻烦大侠提供点建议或者代码:
DataTable DataTable2 = new DataTable();
DataTable newDataTable = DataTable1.Clone();object[] obj = new object[newDataTable.Columns.Count];
for (int i = 0; i < DataTable1.Rows.Count; i++)
{
DataTable1.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}for (int i = 0; i < DataTable2.Rows.Count; i++)
{
DataTable2.Rows[i].ItemArray.CopyTo(obj,0);
newDataTable.Rows.Add(obj);
}
或者用DataTabe.Merge(),将两张表合并.
ADO.NET 中的表达式
http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
DataTable其实可以在客户端做好多事情
http://topic.csdn.net/u/20080408/22/5c0909df-1502-4ebe-9f97-f9398372affa.html
我的意思是假如表一有三行 ,表二有五行,表三有十行,表四有六行,则合并起来的最终table有24行!
好像用rows.add()方法可以,但是不知道怎么写!
大侠给点代码~~!
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//测试环境
System.Data.DataSet ds = new System.Data.DataSet();
System.Data.DataTable dt1=new System.Data.DataTable();
dt1.TableName = "dt1";
ds.Tables.Add(dt1);
dt1.Columns.Add("id",typeof(int));
System.Data.DataTable dt2=new System.Data.DataTable();
dt2.TableName = "dt1";
dt2.Columns.Add("id",typeof(int)); System.Data.DataRow row = dt1.NewRow();
row["id"] = 1;
dt1.Rows.Add(row);
row = dt2.NewRow();
row["id"] = 2;
dt2.Rows.Add(row);
row = dt2.NewRow();
row["id"] = 3;
dt2.Rows.Add(row); //合并
ds.Merge(dt2);
//输出检查
Console.WriteLine(ds.Tables["dt1"].Rows.Count);
Console.Read();
}
}
}
用union...什么的应该可以吧。
用left join union等这些关键字联合查询吧。
如果用代码合并,数据量大了,速度很慢的。
as
select * from GISCIOITTable
union all
select * from GISCIOHardTable
union all
select * from GISCIOInfoTable这个才是解决之道~~!