当前位置:编程学习 > C#/ASP.NET >>

数据读取显示问题

目前有两个表:
表A
  id   names   sexs    addres
   5     张三    男       上海
   6     李四    女        北京
   12    成名     男       四川

表B
   id   uid   comment
    1    5      ffff
    2    5      gggg
    3    5      tttt
    4    12     ooooo
要求:一次读取表A,获得数据格式DataSource,根据这个数据在查询B表,根据用户ID获得回复内容,把内容组合后赋值给getview控件,现实格式如下:
  id   names   sexs    addres  comment
   5     张三    男       上海        1-5-ffff|2-5-gggg|3-5-tttt

小弟刚学C#,不会怎么循环完后组合,请大家告诉我代码学习,我这个分少,但是我下载资源分高,有需要下载的可以找我,或者有PHP和C不知道的,小弟绝对告诉。

--------------------编程问答-------------------- 这需要动态SQL或者存储过程来完成,
当然用C#也能完成,你可以把两个数据集取出,再循环拼 --------------------编程问答-------------------- 根据id查询B表comment字段 拼接显示出来 --------------------编程问答-------------------- select A.*,B.comment from A left join B
然后gridview绑定 --------------------编程问答-------------------- on自己写一下吧 --------------------编程问答-------------------- SELECT A.id,A.NAME,A.address,CONVERT(nVARCHAR(10),B.id)+'-'+CONVERT(nVARCHAR(10),B.uid)+'-'+B.comment FROM A
INNER JOIN B ON B.uid=A.id
WHERE A.id=5 --------------------编程问答-------------------- select A.id,A.names,A.sexs,A.addres,b.id,b.[uid],b.comment from A left join B on A.id=B.[uid] where A.id=5

绑定时直接拼接就好了。
Eval("id")+"-"+Eval(uid) --------------------编程问答-------------------- 我还是不明白,大家给写个把,读取a表我会,怎么根据a表内容循环读取b表后拼接,在绑定到gridview这些不会,回了这个我也就会全了。项目需要,小弟本身也不打算学c#,请大家直接告诉代码吧,不要联合查询,服务器受不了,访问太大,所以只能一个一个表读取。 --------------------编程问答-------------------- 在RowDataBound事件里写代码,我这里是将老师角色加载到一个下拉列表,你可以举一反三利用一下,有点懒不太想写你这个一模一样的代码。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (((DropDownList)e.Row.FindControl("ddlRole")) != null)
        {
            DropDownList myddlrole = (DropDownList)e.Row.FindControl("ddlRole");

              //生成 DropDownList 的值,绑定数据
            string connStr = ConfigurationSettings.AppSettings["strCon"]; 
            DataSet myds = new DataSet();
            SqlConnection conn = new SqlConnection(connStr);
            if (conn.State.ToString() == "Closed") conn.Open();
            string strsql = "SELECT Rolemr.RoleId,Rolemr.RoleName FROM Rolemr";
            SqlDataAdapter da = new SqlDataAdapter(strsql, conn);
            da.Fill(myds);
            if (conn.State.ToString() == "Open") conn.Close();

            myddlrole.DataSource = myds.Tables[0].DefaultView;
            myddlrole.DataTextField = "RoleName";
            myddlrole.DataValueField = "RoleId";
            myddlrole.DataBind();
        }
} --------------------编程问答-------------------- 我如果说没看懂,您信吗?麻烦些详细点可以吗?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,