数据读取显示问题
目前有两个表:表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