如何对几个表进行关联
这里首先我从sql数据库里查询获得了2张表,表A:ID,time,bookid,md
表B:bookid,bookname
我把他们在放在程序里,用datetable存放tableA,tableB
然后我自己有一个execl表,我将表里的数据读出,同样放到tableC
tableC:projectname,bookname,fy
现在想关联这三张表,查询出
projectname,bookname,ID,bookid,md,fy,md+fy
放到一个新的table里,然后绑定到dataGridView1,显示出来
注(为什么不把execl直接创建在数据库里呢,因为不能改变数据库的结构,怕出错) --------------------编程问答-------------------- linq
DataTable dt1 = CreateDataTable();--------------------编程问答-------------------- 这个貌似不好做,循环判断?效率太低,看看DATASET中有没有办法 --------------------编程问答-------------------- 不是很明白
DataTable dt2 = CreateDataTable();
DataTable dt3 = CreateDataTable();
var result = from a in dt1.AsEnumerable()
join b in dt2.AsEnumerable()
on a.Field<int>("bookid") equals b.Field<int>("bookid")
join c in dt3.AsEnumerable() on b.Field<string>("bookname") equals c.Field<string>("bookname")
select new
{
projectname = c.Field<string>("projectname"),
bookname = b.Field<string>("bookname"),
ID = a.Field<int>("ID"),
bookid = b.Field<int>("bookid"),
md = a.Field<string>("md"),
fy = c.Field<string>("fy"),
md_and_fy = a.Field<string>("md") + c.Field<string>("fy")
};
TableC怎么AB关联?
md,fy是啥字段? --------------------编程问答-------------------- 都读到内存中了,用linq不是轻而易举... --------------------编程问答-------------------- 可以建立个视图吗?
--------------------编程问答-------------------- 楼主问这个问题 想必对linq也不会很了解,二楼还是上一般的查询语句吧 --------------------编程问答-------------------- 2L,你好, 我根据你说的弄成这样
可是var result 值为null,怎么回事呢
var result = from a in dt1.AsEnumerable()--------------------编程问答-------------------- 或者说,如何把result绑定到dataGridView1控件去呢 --------------------编程问答-------------------- 2L的如果可以的话,怎么把它填充到dataset里呢
join b in dt2.AsEnumerable()
on a.Field<int>("书名") equals b.Field<int>("书名")
select new
{
项目名 = b.Field<string>("项目名"),
书名 = b.Field<string>("书名"),
凭证编号 = a.Field<int>("凭证编号"),
科目名称 = a.Field<string>("科目名称"),
日期 = a.Field<DateTime>("日期"),
成本 = a.Field<float>("成本"),
费用 = b.Field<float>("费用"),
总费用 = a.Field<float>("成本") + b.Field<float>("费用")
};
补充:.NET技术 , C#