我有三个数据库,两个SQL Server的,一个Oracle的,里面各有一张我需要的表,三个表中我需要的字段含义类似但名称不同。
我现在需要把这三张表中的四个字段提取出来,融合成一张新表(纵向合并)然后在页面中用GridView展示出来,并且支持对此新表的查询操作,请问各位大哥有什么好办法。
我现在需要把这三张表中的四个字段提取出来,融合成一张新表(纵向合并)然后在页面中用GridView展示出来,并且支持对此新表的查询操作,请问各位大哥有什么好办法。
你可以试用不同的Command和DataAdapter填充到同一个DataSet中的不同表,然后在DataSet中操作进行数据的合并看看。
同时填充它的列是如何对应的?能按照我的需求对应么,还是select的时候按照顺序
感觉你的这个问题,如果数据量大的话,最好是从数据库来考虑问题,而不要拿程序来折磨自己,条条大路通罗马
效率应该可以接受
现在需要你把查询出的各个表中的字段填入Datatable即可。 // 绑定购物车
private void BindShoppingCar(ArrayList orderList)
{
// 创建数据表
DataTable dtShoppingCar = new DataTable();
dtShoppingCar.Columns.Add(new DataColumn("CommodityID"));
dtShoppingCar.Columns.Add(new DataColumn("CommodityName"));
dtShoppingCar.Columns.Add(new DataColumn("UnitPrice", System.Type.GetType("System.Decimal")));
dtShoppingCar.Columns.Add(new DataColumn("Number", System.Type.GetType("System.Int32")));
dtShoppingCar.Columns.Add(new DataColumn("Subtotal", System.Type.GetType("System.Decimal"), "UnitPrice * Number")); float sum = 0;
// 从订单List中解析数据填充数据表
for (int i = 0; i < orderList.Count; i++)
{
Order order = (Order)orderList[i];
DataRow row = dtShoppingCar.NewRow();
row["CommodityID"] = order.CommodityID;
row["CommodityName"] = order.CommodityName;
row["UnitPrice"] = order.UnitPrice;
row["Number"] = order.Number;
dtShoppingCar.Rows.Add(row);
sum += float.Parse(row["Subtotal"].ToString());
}
// 绑定购物车列表
gvShoppingCar.DataSource = dtShoppingCar;
gvShoppingCar.Columns[4].FooterText = sum.ToString();
gvShoppingCar.DataBind();
}