网页代码:
<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里面完全可以查出数据,但是在这里就是差不出数据,不知道是什么原因,大家帮帮忙啊?

解决方案 »

  1.   

    LZ  你确定程序的SQL语句是对的吗?你打断点看看是否你的SQL语句正确呢?
      

  2.   

    sql查询分析器 能查出来吗
      

  3.   

    很少用外连查询,个人觉得比较影响sql的执行效率,试着用一下子查询吧,好理解一些
      

  4.   

    我确定sql是正确的,在sql查询分析器重完全可以查出数据  并且数据库连接也是正确的        求解!大侠们!
      

  5.   

    确定你得SQL语句拿到数据库中执行有结果?
     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();
         }
    }
      

  6.   

    没看出什么问题           
     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");
      

  7.   

    同样的sql 在数据库中有结果,在程序中没结果90% 以上查得不是一个数据库
      

  8.   

    strSql正确,检查连接字符串
      

  9.   

    调试一下,看看conn.Open();
    能不能打开,有没有报错