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

急急急!!!排序那里出错了?

  这是lsit.aspx.cs 
 private void BindData()
    {

        string t = Request.QueryString["t"];
        string i = Request.QueryString["i"];



        if (Common.isNULL(t) && Common.isNULL(i))
        {
            typeNum = Convert.ToInt32(t);
            typeId = Convert.ToInt32(i);

            ArticleType objt = ArticleType.Select(typeId, ChineseOrEnglish);
            typeName = objt.o_name;
            if (typeNum == 1)
             string where = String.Format("o_status>{0} and o_type={1}", 0,typeId);
            IList<Article> ilar = Article.Select(where, ChineseOrEnglish);
             
    AspNetPager1.RecordCount = ilar.Count;
         }
     }

下面是 article.cs
         public static IList<Article> Select(string where, string ChineseOrEnglish)
        {

         try
         {
            IList<Article> list = new List<Article>();

            string strSql = "SELECT * FROM  article WHERE " + where + " ORDER BY o_id DESC";
        //string strSql = "SELECT * FROM  article WHERE " + where + " ORDER BY o_order DESC";
            OleDbDataReader dr = AccessHelper.RunProcGetReader(strSql, ChineseOrEnglish);
            while (dr.Read())
            {
                list.Add(new Article(dr));
            }

            dr.Close();

            return list;
          }
          catch (Exception e)
           {
            string n = e.Message;
            return null;
           }

        }
    
    问题:为什么在list的页面中显示的数据 不能正常的根据o_id进行降序排列
        那里写错了,请指正,谢谢! --------------------编程问答-------------------- select * from 表 order by id desc  这样就行了  不用加where --------------------编程问答-------------------- 你把这个“SELECT * FROM article WHERE " + where + " ORDER BY o_id DESC”放到你的数据库看下,可以正常排序不? --------------------编程问答--------------------
引用 1 楼 qydvip 的回复:
select * from 表 order by id desc  这样就行了  不用加where


人家的“Where”是个排序条件

不过LZ有判断传过来的“where”是空的情况了没??

如果为空你这个SQL就错了。。。 --------------------编程问答-------------------- 断点看你生成的SQL。
如果where为空 给where 1=1 --------------------编程问答-------------------- 不用where直接排序啊 --------------------编程问答-------------------- “SELECT * FROM article WHERE " + where + " ORDER BY o_id DESC” 
在 newlist这个页面中显示是没有问题的
但是在list页面中显示就有问题了
--------------------编程问答-------------------- 我说的是前边大写的where  好不好  --------------------编程问答-------------------- 不用where直接排序 显示每一页的数据都是一样的!!!!
但是排序的问题还是不对 --------------------编程问答-------------------- 你贴出来完整的sql,就是where条件也线束出来看看 --------------------编程问答-------------------- 去掉前面大写的 WHERE 这行直接报错
--------------------编程问答-------------------- 这里的where不为空
空的话 sql会报错 --------------------编程问答-------------------- 在list页面 你断点 看看sql是什么样子的 --------------------编程问答-------------------- 你再检查看看你自己写的SQL语句是不是正确,然后放到数据库里去测试一下看看是不是你要的效果,如果正确你再加个断点走走,看看程序是不是走了你要执行的那句SQL语句 --------------------编程问答-------------------- 用你的SQL语句在数据库里测试,看看是什么结果。 --------------------编程问答-------------------- 先讲sql复制到数据库,如果能正常排序,问题是否处在AspNetPager控件上,这还有待探讨,我只是抛砖引玉,希望有所帮助
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,