我做的是在同一张表中的查询,查出来的结果出现了字段相同的,但是我在grideview里绑定时却不能用查询的别名绑定就是大家做新闻类别分类表的时候,不是树型表吗?我查出某一子类型的父类型时,它们的字段名称是相同的,我要如何在.net里区分?!

解决方案 »

  1.   

    select column_name as alias_column_name
      

  2.   

     BLL.NEWSBll news = new NEWSBll();
                    DataTable dt=new DataTable();
                    news.SelectNEWSType(ref dt);
                    GVType.DataSource = dt;
                    //string[] strKey = new string[1];
                    //strKey[0] = "typeid";
                    //GVType.DataKeyNames = strKey;
                    GVType.DataBind();在这里,dt 里是有值的
      

  3.   

    sql="select a.type_id as typeid ,a.type_name as typeName,a.type_layer as typelayer, b.type_Name as tn  from newstypetb a left join newstypetb b on a.type_father=b.type_id order by typelayer"
      

  4.   

    是不是不应该用左查询?
    我现在什么都绑不上去了~断点监视的结果是dt.Rows[0]["typeid"]
    “dt.Rows[0]["typeid"]”引发了“System.ArgumentException”类型的异常  dt.Rows[0]["type_id"]但这个里面有值!但我用type_id绑现在也什么都不出现了
      

  5.   

    你的sql和你的dt可能对不上,仔细检查.
      

  6.   

    检查news.SelectNEWSType(ref   dt); 
      

  7.   

    唉,看样子,CSDN里没高手了啊~~~~
      

  8.   

     BLL.NEWSBll   news   =   new   NEWSBll(); 
       DataTable   dt=new   DataTable(); 
       news.SelectNEWSType(ref   dt); 
       GVType.DataSource   =   dt;         //这里的dt有数据,在这里打断点 
                                        监视的结果是dt.Rows[0]["typeid"]“dt.Rows[0]["typeid"]”    引    发         “System.ArgumentException”类型的异常       dt.Rows[0]["type_id"]但这个里面有值! 
       
       GVType.DataBind(); 
      

  9.   

    断点监视的结果是dt.Rows[0]["typeid"] 
    “dt.Rows[0]["typeid"]”引发了“System.ArgumentException”类型的异常    
    =========>怎么可能在程序里面有值.
      

  10.   

      监视的结果是dt.Rows[0]["typeid"]“dt.Rows[0]["typeid"]”         引         发                   “System.ArgumentException”类型的异常               dt.Rows[0]["type_id"]但这个里面有值!   ========>
    这正说明你的sql与你的dt对不上.dt的字段还是没有别名的字段.另:这只能说明我不是高手,与csdn没有关系.csdn还是有高手的.
      

  11.   

    “dt.Rows[0]["typeid"]”这是用别名的,引发类型异常,
    “dt.Rows[0]["type_id"]”这是表字段的真名,有值
      

  12.   

    select   a.type_id   as   typeid   ,a.type_name   as   typeName,a.type_layer   as   typelayer,   b.type_Name   as   tn     from   newstypetb   a   left   join   newstypetb   b   on   a.type_father=b.type_id   order   by   typelayer
    那我的sql语句是拿到查询分析器里运行过的,是正确的啊~~~
      

  13.   

    “dt.Rows[0]["typeid"]”这是用别名的,引发类型异常, 
    “dt.Rows[0]["type_id"]”这是表字段的真名,有值
    =========>
    说是你用别名的sql没有生效,还是旧的sql,仔细检查。
      

  14.   

    那我的sql语句是拿到查询分析器里运行过的,是正确的啊~~~
    ==>
    这并不代表你的程序执行的就是这条sql..
    真是flu.
      

  15.   

    哦,,。失误,实在不好意思,。调用出错了,没调对SQL语句!!!
    失误,十万分抱歉!!!!!!!