网页代码:
<table>
<asp:Repeater runat="server" ID="repShow">
<HeaderTemplate>
<tr>
<td>
行程
</td>
<td>
评论
</td>
<td>
评论时间
</td>
<td>
评价人
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label runat="server" ID="lblXingcheng" Text='<%# Eval("xingcheng") %>'></asp:Label>
</td>
<td>
<asp:Label runat="server" ID="lblTime" Text='<%# Eval("createtime") %>'></asp:Label>
</td>
<td>
<asp:Label runat="server" ID="lblComment" Text='<%# Eval("comment") %>'></asp:Label>
</td>
<td>
<asp:Label runat="server" ID="lblusername" Text='<%# Eval("Username") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>后台代码: if (!IsPostBack) {
repShow.DataSource = Bind();
repShow.DataBind();}
public DataTable Bind() {
SqlConnection conn = new SqlConnection("Server=PC-201008201421;Database=CFSF;Uid=sa;Pwd=123456");
StringBuilder strSql = new StringBuilder();
strSql.Append(" select CASE WHEN i.LeiXing='1' then isnull(b.pcname,'')+'-'+isnull(c.pcname,'') ");
strSql.Append(" when i.LeiXing='2' then isnull(d.pcname,'')+'-'+isnull(e.pcname,'') ");
strSql.Append(" when i.LeiXing='3' then isnull(f.pcname,'')+'-'+isnull(g.pcname,'') ");
strSql.Append(" end as xingcheng,a.createtime,a.comment,(select username from cf_users where userid=a.userid) username");
strSql.Append(" from cf_zuche_dianping a ");
strSql.Append(" inner join cf_dingdan i on a.orderid=i.orderid");
strSql.Append(" left join cf_provice_city b on i.JJFromCity=b.pcid ");
strSql.Append(" left join cf_provice_city c on i.JJToCity=c.pcid ");
strSql.Append(" left join cf_provice_city d on i.SJFromCity=d.pcid ");
strSql.Append(" left join cf_provice_city e on i.SJToCity=e.pcid ");
strSql.Append(" left join cf_provice_city f on i.CJFromCity=f.pcid ");
strSql.Append(" left join cf_provice_city g on i.CJToCity=g.pcid ");
strSql.Append(" inner join cf_users u on u.userid=a.userid");
strSql.Append(" where a.userid=78");
//SqlCommand comm = new SqlCommand(strSql.ToString());
conn.Open(); DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(strSql.ToString(), conn);
da.Fill(dt);
conn.Close();
return dt;
}
sql语句在sql2005里面完全可以查出数据,但是在这里就是差不出数据,不知道是什么原因,大家帮帮忙啊?
<table>
<asp:Repeater runat="server" ID="repShow">
<HeaderTemplate>
<tr>
<td>
行程
</td>
<td>
评论
</td>
<td>
评论时间
</td>
<td>
评价人
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label runat="server" ID="lblXingcheng" Text='<%# Eval("xingcheng") %>'></asp:Label>
</td>
<td>
<asp:Label runat="server" ID="lblTime" Text='<%# Eval("createtime") %>'></asp:Label>
</td>
<td>
<asp:Label runat="server" ID="lblComment" Text='<%# Eval("comment") %>'></asp:Label>
</td>
<td>
<asp:Label runat="server" ID="lblusername" Text='<%# Eval("Username") %>'></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>后台代码: if (!IsPostBack) {
repShow.DataSource = Bind();
repShow.DataBind();}
public DataTable Bind() {
SqlConnection conn = new SqlConnection("Server=PC-201008201421;Database=CFSF;Uid=sa;Pwd=123456");
StringBuilder strSql = new StringBuilder();
strSql.Append(" select CASE WHEN i.LeiXing='1' then isnull(b.pcname,'')+'-'+isnull(c.pcname,'') ");
strSql.Append(" when i.LeiXing='2' then isnull(d.pcname,'')+'-'+isnull(e.pcname,'') ");
strSql.Append(" when i.LeiXing='3' then isnull(f.pcname,'')+'-'+isnull(g.pcname,'') ");
strSql.Append(" end as xingcheng,a.createtime,a.comment,(select username from cf_users where userid=a.userid) username");
strSql.Append(" from cf_zuche_dianping a ");
strSql.Append(" inner join cf_dingdan i on a.orderid=i.orderid");
strSql.Append(" left join cf_provice_city b on i.JJFromCity=b.pcid ");
strSql.Append(" left join cf_provice_city c on i.JJToCity=c.pcid ");
strSql.Append(" left join cf_provice_city d on i.SJFromCity=d.pcid ");
strSql.Append(" left join cf_provice_city e on i.SJToCity=e.pcid ");
strSql.Append(" left join cf_provice_city f on i.CJFromCity=f.pcid ");
strSql.Append(" left join cf_provice_city g on i.CJToCity=g.pcid ");
strSql.Append(" inner join cf_users u on u.userid=a.userid");
strSql.Append(" where a.userid=78");
//SqlCommand comm = new SqlCommand(strSql.ToString());
conn.Open(); DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(strSql.ToString(), conn);
da.Fill(dt);
conn.Close();
return dt;
}
sql语句在sql2005里面完全可以查出数据,但是在这里就是差不出数据,不知道是什么原因,大家帮帮忙啊?
public void BindRepeator() {
SqlConnection conn = new SqlConnection("Server=PC-201008201421;Database=CFSF;Uid=sa;Pwd=123456");
StringBuilder strSql = new StringBuilder();
strSql.Append(" select CASE WHEN i.LeiXing='1' then isnull(b.pcname,'')+'-'+isnull(c.pcname,'') ");
strSql.Append(" when i.LeiXing='2' then isnull(d.pcname,'')+'-'+isnull(e.pcname,'') ");
strSql.Append(" when i.LeiXing='3' then isnull(f.pcname,'')+'-'+isnull(g.pcname,'') ");
strSql.Append(" end as xingcheng,a.createtime,a.comment,(select username from cf_users where userid=a.userid) username");
strSql.Append(" from cf_zuche_dianping a ");
strSql.Append(" inner join cf_dingdan i on a.orderid=i.orderid");
strSql.Append(" left join cf_provice_city b on i.JJFromCity=b.pcid ");
strSql.Append(" left join cf_provice_city c on i.JJToCity=c.pcid ");
strSql.Append(" left join cf_provice_city d on i.SJFromCity=d.pcid ");
strSql.Append(" left join cf_provice_city e on i.SJToCity=e.pcid ");
strSql.Append(" left join cf_provice_city f on i.CJFromCity=f.pcid ");
strSql.Append(" left join cf_provice_city g on i.CJToCity=g.pcid ");
strSql.Append(" inner join cf_users u on u.userid=a.userid");
strSql.Append(" where a.userid=78"); DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(strSql.ToString(), conn);
da.Fill(dt);
this.repShow.DataSource = dt;
this.repShow.DataBind();
conn.Close();
}
public void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
BindRepeator();
}
}
strSql.Append(" end as xingcheng,a.createtime,a.comment,(select username from cf_users where userid=a.userid) username");
可以改为
strSql.Append(" end as xingcheng,a.createtime,a.comment,u.username");
能不能打开,有没有报错