datagridview拼接两张表后出现了奇怪的情况

bulls5988 2020-11-19 05:42:22
A表结构

B表结构


DATAGRIDVIEW拼接后出来挺奇怪的现象



下面那几行应该是在第三列最上面,现在都去下面了。还有几个奇怪的数字3,请帮忙看看什么原因呢?

namespace 工具
{
public partial class 主程序 : Form
{
public 主程序()
{
InitializeComponent();
}
string filenameurl = null;

private OleDbDataAdapter find_do;
private OleDbDataAdapter find_do1;


private void b_ok_Click(object sender, EventArgs e)
{
this.d_xs.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.d_xs.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

string sql_str = "SELECT sum(总联带金额) as AA,sum(订单联带笔数) as BB FROM 联带销售统计表 WHERE 业种='名品靴鞋业种'" +
"UNION ALL SELECT sum(总联带金额) as AA, sum(订单联带笔数) as BB FROM 联带销售统计表 WHERE 业种='淑女装业种'" +
"UNION ALL SELECT sum(总联带金额) as AA, sum(订单联带笔数) as BB FROM 联带销售统计表 WHERE 业种='少女装业种'" +
"UNION ALL SELECT sum(总联带金额) as AA, sum(订单联带笔数) as BB FROM 联带销售统计表 WHERE 业种='男装童玩业种'" +
"UNION ALL SELECT sum(总联带金额) as AA, sum(订单联带笔数) as BB FROM 联带销售统计表 WHERE 业种='运动休闲业种'" +
"UNION ALL SELECT sum(总联带金额) as AA, sum(订单联带笔数) as BB FROM 联带销售统计表 WHERE 业种='家居生活业种'";

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data_tg.mdb");
OleDbCommand cmd = new OleDbCommand(sql_str, conn);
conn.Open();

find_do = new OleDbDataAdapter();
find_do.SelectCommand = cmd;

d_xs.RowHeadersWidth = 150;
DataTable dataTable = new DataTable();
find_do.Fill(dataTable);

string sql_str1 = "SELECT sum(汇总交易金额) as CC FROM 店铺品牌销售汇总 WHERE 汇总业种='名品靴鞋业种'" +
"UNION ALL SELECT sum(汇总交易金额) as CC FROM 店铺品牌销售汇总 WHERE 汇总业种='淑女装业种'" +
"UNION ALL SELECT sum(汇总交易金额) as CC FROM 店铺品牌销售汇总 WHERE 汇总业种='少女装业种'" +
"UNION ALL SELECT sum(汇总交易金额) as CC FROM 店铺品牌销售汇总 WHERE 汇总业种='男装童玩业种'" +
"UNION ALL SELECT sum(汇总交易金额) as CC FROM 店铺品牌销售汇总 WHERE 汇总业种='运动休闲业种'" +
"UNION ALL SELECT sum(汇总交易金额) as CC FROM 店铺品牌销售汇总 WHERE 汇总业种='家居生活业种'";
OleDbConnection conn1 = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data_tg.mdb");
OleDbCommand cmd1 = new OleDbCommand(sql_str1, conn);
find_do1 = new OleDbDataAdapter();
find_do1.SelectCommand = cmd1;
DataTable dataTable1 = new DataTable();
find_do1.Fill(dataTable1);
dataTable.Merge(dataTable1);

DataRow dataRows;
dataRows = dataTable.NewRow();
dataRows[0] = dataTable.Compute("Sum(AA)", "true");
dataRows[1] = dataTable.Compute("Sum(BB)", "true");
dataRows[2] = dataTable.Compute("Sum(CC)", "true");
dataTable.Rows.Add(dataRows);

this.d_xs.DataSource = dataTable;
...全文
2385 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bulls5988 2020-11-20
  • 打赏
  • 举报
回复
放弃了,不拼了 。结果存入结构相同的两张新表再弄吧。
bulls5988 2020-11-20
  • 打赏
  • 举报
回复
不行的 ,这两张表没有关联。怎么设主键?
ManBOyyy 2020-11-20
  • 打赏
  • 举报
回复
https://blog.csdn.net/hhongjia/article/details/95208459
liyixin1339 2020-11-20
  • 打赏
  • 举报
回复
优秀的中国程序员
正怒月神 2020-11-20
  • 打赏
  • 举报
回复
先不看ui界面的内容。 调试时,最后的 dataTable 是什么样子。
ManBOyyy 2020-11-20
  • 打赏
  • 举报
回复
名稱不是一樣?
bulls5988 2020-11-19
  • 打赏
  • 举报
回复
就是试试这个拼接方法而已
qq_30335331 2020-11-19
  • 打赏
  • 举报
回复
这代码写的 稀碎

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧