如何读取关联表?

raincy 2005-10-20 07:21:24
不知道C#中如何读取一个关联查询。我在网上查了很多例子,但例子都是用dataadapt填充一个dataset,填充的时候要提供表名,这只适用于单表查询啊~,对于关联查询怎么做呢?

下面是具体情况:

我用access数据库设计了两个表
表1:
表名:tbl_main
字段1:id 自动编号 主键
字段2:name text

表2:
表名:tbl_detail
字段1: id 自动编号 主键
字段2: userid 数字 //与tbl_main的id关联
字段3: userinfo text


在读取的时候,我想使用关联查询"select a.username, b.userinfo from tbl_main a left join tbl_detail b on a.id = b.userid",然后将查询的结果(username, userinfo)依次添加到listview的两个column中,请问怎么做呢?
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
raincy 2005-10-26
  • 打赏
  • 举报
回复
谢谢 :)
singlepine 2005-10-21
  • 打赏
  • 举报
回复
string sql="select a.[name] as username, b.userinfo from tbl_main a left join tbl_detail b on a.id = b.userid";

然后填充到dataset中
然后绑定就可以了
this.listView1.Items.Clear();
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
ListViewItem lsvItem = new ListViewItem(ds.Tables[0].Rows[i]["username"].ToString());
lsvItem.Tag = ds.Tables[0].Rows[i]["userinfo"].ToString();
this.listView1.Items.Add (lsvItem);
}
大概就是这样,我手头没有测试环境,所以无法测试
raincy 2005-10-21
  • 打赏
  • 举报
回复
不正确啊,listView1没有这个属性啊~

错误信息是:
E:\VS2003.net_project\Test\联合查询\联合查询\Form1.cs(127): “System.Windows.Forms.ListView”并不包含对“DataSource”的定义


还有就是我很想知道怎么自己去把查出来的值手工读出来,比如说读出来后放到MessageBox中。
singlepine 2005-10-20
  • 打赏
  • 举报
回复
string sql="select a.[name] as username, b.userinfo from tbl_main a left join tbl_detail b on a.id = b.userid";

然后填充到dataset中
然后绑定就可以了
lsitview1.DataSource=ds;
lsitview1.DataTextField="username";
lsitview1.DataValueField="userinfo";
lsitview1.DataBind();
raincy 2005-10-20
  • 打赏
  • 举报
回复
各位大虾请了,请不吝伸出援手

110,536

社区成员

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

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

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