急急急!!!排序那里出错了?
这是lsit.aspx.csprivate 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”放到你的数据库看下,可以正常排序不? --------------------编程问答--------------------
人家的“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