1、具体环境如下:
在数据库中有两个表:Table1和Table2
在Table1表中存有:用户名、Email两个字段;
在Table2表中存有:用户名、地址两个字段;
SQL关联语句:
select 用户名,Email,地址 from Table1 t1 join Table2 t2 on t1.用户名=t2.用户名.
2、给GridView的数据源为DataTable,DataView.
那就拿DataTable来说,不管怎么弄,有多少个表,只要把这些表的数据都整合到一个DataTable中就都可以实现.
语句如下:
select
a.id as aid,
a.name as aname,
b.id as bid,
b.name as bname,
c.id as cid,
c.name as cname
from a,b,c
where a.id = b.aid
and a.id = c.aid
select id,name from table1,table2 where table1.id=table2.id
把id和name绑定到gridview,id列在rowcreated事件中设为不可见
在gridview中查看时,点击某一行,获得这一行的id列的值
建视图 然后GridView上绑定视图信息
不知道你的映射类是怎么写的,若是有主外建关联。那就好办了。
比如就你说的两张表
public class A//A表映射类
{
private int _id;
public Int Id
{
get{return _id;}
set{_id = value;}
}
private string _name
public String Name
{
get{return _name;}
set{_name = value;}
}
}
public class B //B表映射类
{
private int _id;
public Int Id
{
get{return _id;}
set{_id = value;}
}
private A a_Id; a_Id为表B中引用A表的外键
public A A_Id
{
get{return a_Id;}
set{a_Id= value;}
}
}
那么现在在查询的时候只要将B表查询出来,相应的B表也得到了A表的映射
B b = new B();
b=数据库查询得到的内容;
b.A.Name ;//就可以得到 B表中外键的NAME属性了。
所以在GridView绑定时;
B b = new B();
GridView1.dataSource = b;
GridView1.dataBind();
在页面上绑定控件的地方写(比如lable1)
完了。。。。没在VS里面试,所以肯定有些地方有语法错误什么的,还有语言表达能力欠缺,希望你能看得懂,如果看不懂加我QQ371820071给个例子你看就明白了
Eval("Tom")