注册 登录
编程论坛 ASP.NET技术论坛

asp.net 的一个简单关联数据查询问题

zhanxinlin 发布于 2012-07-03 22:50, 825 次点击
数据库中有两个表 A 和 B ,A存放信息,B存放类别名称。数据结构如下:

表a有以下字段
id 自动编号类型
a_name 文本类型
a_type 数字类型

表B有以下字段
id 自动编号类型
b_name 文本类型

页面有如下代码
        <asp:GridView ID="GridView1" runat="server"
            AllowSorting="True" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="a_name" HeaderText="名称" />
                <asp:TemplateField HeaderText="类别">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server"></asp:Label>
                    </ItemTemplate>
            </Columns>
        </asp:GridView>
        
<script return="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string strsql = "select * from a";
            SqlDataReader sdr = SQLHelper.SQLHelper.ExecReader(strsql);
            this.GridView1.DataSource = sdr;
            this.GridView1.DataBind();
        }
    }
</script>
   
现在需要a表字的类别字段a_type读取后去查询b表中的对应id的b_name字段,最后GridView1显示出来的类别显示为对应b_name字段的内容,这个要怎么改?
2 回复
#2
zhanxinlin2012-07-03 23:56
原来这条SQL就可以解决 select a.*,b.* from a join b on a.a_type=b.id
#3
zlh10162012-07-15 18:42
这个数据库的表设计的有问题...第二个表的id列不应该是自动增长的应该和第一个表的a_type列对应
SQL语句:select a.*,b.b_name from a join b
on a.a_type=b.b_name
1