|
主题: 如何按最新回复时间排序帖子主题?
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#12003/12/25 14:53:50
请大家给我说说实现“按最新回复时间排序帖子主题”的思路,好吗?能有vb.net的代码就更好了。谢谢。这样做的话对机器的资源要求不会很大吧?
克塞,前来拜访!
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#22003/12/25 14:58:39
自己想了想,如果在表中专门建一字段记录回复时间,然后在排序的时候按照这一字段的值排序,类似利用DataGrid中的AllowSorting等来实现,那么的话应该也可点一下“回复时间”这一项目就按照这一项来排序显示吧。不知道实际大家做的时候是用的什么办法呢?
克塞,前来拜访!
|
=ridincal=
职务:管理员
等级:7
金币:20.0
发贴:5886
|
#32003/12/25 15:00:16
主题数据表中增加一个字段纪录改主体最后一次回复的时间,然后order by这个字段降序排列
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#42003/12/25 15:00:35
可是这样的话,回复时间这一字段就该是个不断被更新的值了~~~恩,先想想。 我不是灌水啊------恩,我想好了再来问吧。谢谢大家的热心解答。
克塞,前来拜访!
|
绿茶
职务:普通成员
等级:8
金币:10.0
发贴:19267
|
#52003/12/25 15:14:13
每插入一条回复,就更新一下最后回复时间
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#62003/12/25 16:42:19
哎,不懂sql语法,写出来的语句老经过不了调试。请大家帮帮看看错在哪里。只写更新最后回复时间这一部分的: Dim ReplyNo As Integer ReplyNo=Session("ReplyNo") Dim ConStr, SqlStr1 As String ConStr="Provider=Microsoft.Jet.OLEDB.4.0;" ConStr+="Data Source=" & Server.MapPath("sayit.mdb") SqlStr1="Insert Into 留言" SqlStr1+="(最新回复时间) " SqlStr1+="values ('" & Now() & "')" SqlStr1+="Where (ID)=('ReplyNo') " Dim DD As New OleDbDataAdapter(SqlStr1, ConStr) If Page.IsValid Then 。。。。。。。。。。 DD.Fill(Ds, "留言") 。。。。。。。。 End If
好象是sqlstr1老过不了调试~~~~~~郁闷。换了好几种写法也不行。要嘛提示说”SQL 语句的结束位置缺少分号 (;)“,要嘛是其他的。哎!
克塞,前来拜访!
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#72003/12/25 17:00:09
insert into语句没有有where条件吗?看来是我一心想当然去了,哎哟~~~~错了,错了,我真的是大错了。应该用update嘛。我一定是脑袋进水了~~~~。书都不知道看哪去了,我真是的。自责中~~~~~~~ 谢谢大家啊。我真够糊涂的。
克塞,前来拜访!
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#82003/12/25 17:45:35
又错了~~~怎么我自己写的sql基本没正确过啊~~~大家再给看看吧。 SqlStr="Update 留言 set 最新回复时间=“ SqlStr+="'Now()'" SqlStr+=” Where ID='ReplyNo'" 可是如此提交后却出现提示“参数“Number”不能转换为数值。 ”--不晓得哪又出错了。
克塞,前来拜访!
|
janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#92003/12/25 17:49:58
ID是数值型字段,不要加单引号
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#102003/12/25 17:59:44
不好意思,厚着脸皮再问一次。去掉replyno的引号后,提交中提示出错“至少一个参数没有被指定值”。这是什么原因呢?不过打开数据库看已经写入了。
克塞,前来拜访!
|
恐龙特急克塞号
职务:普通成员
等级:3
金币:3.0
发贴:948
|
#112003/12/25 18:06:56
克塞,前来拜访!
|