类型化的DataSet如何多表显示?(20分试问~如有答者就加分)
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection( "server=.;uid=sa;pwd=;database=qq ");
new SqlDataAdapter( "select * from Users ", conn).Fill(ds, "Users ");
new SqlDataAdapter( "select * from Roles ", conn).Fill(ds, "Roles ");
new SqlDataAdapter( "select * from UserRoleJoin ", conn).Fill(ds, "UserRoleJoin ");
//DataRelation
DataRelation del1 = new DataRelation( "UserRoleJoin ", ds.Tables[ "Users "].Columns[ "UserId "], ds.Tables[ "UserRoleJoin "].Columns[ "UserId "], false);
DataRelation del2 = new DataRelation( "Roles ", ds.Tables[ "UserRoleJoin "].Columns[ "RoleId "], ds.Tables[ "Roles "].Columns[ "RoleId "], false);
ds.Relations.Add(del1);
ds.Relations.Add(del2);
请问可以把这个ds的内容变成一个自连接的datatable吗??
内容如下:
select c.*,a.* from
roles a join userrolejoin b
on b.userid=1 and b.roleid=a.roleid
join users c on c.userid=b.userid
UserId UserName Password RoleId Name Code
----------- ---------- ---------- ------ -------------------- -----
1 QWEQWEQ wwwwww a 777777 ^*#@
1 QWEQWEQ wwwwww b 22222 $@#$
------解决方案--------------------这种情况最好是在数据库中建个VIEW,然后读取这个VIEW。
------解决方案--------------------多表关联的SQL语句为什么不用SQLSERVER的视图功能写呢
自己写多累啊
------解决方案--------------------学习邦顶,前段时候也搞了个多标的连接
------解决方案--------------------再问一下namhyuk(namhyuk)
如果建视图~~那我实体层是不是也要建类来拿数据?这样好吗?
------解决方案--------------------实体类本身就存在多表连接操作的局限性,所以不必新建这个类。
------解决方案--------------------