当前位置:编程学习 > JAVA >>

每隔十秒钟读取数据库一行数据


每隔十秒钟读取数据库一行数据,隔十秒读取下一行,不是刷新,谁能帮帮忙

或者有没有别的方法可以实现这个效果呢? --------------------编程问答-------------------- 不知道能不能 线程 Sleep --------------------编程问答-------------------- 定时器 --------------------编程问答--------------------
引用 2 楼  的回复:
定时器

+1 --------------------编程问答-------------------- web页面上就用ajax啊,setInterval,如果你不显示就ls的定时器 --------------------编程问答-------------------- Timer定时器 --------------------编程问答-------------------- 楼上说的 或者可以用spring提供的计时器 --------------------编程问答-------------------- while(true){
  访问数据库 
  Thdread.sleep(10000);
} --------------------编程问答-------------------- 用spring提供的计时器 --------------------编程问答-------------------- 很奇怪的需求,需求出发点是什么 --------------------编程问答--------------------
定时器 我还不太会用   有没有实例发一下 

我用的是setTimeout("tt();",10000);这个是10秒钟执行一次方法 ,不知道有没有读取数据库
每隔几秒钟读取一行数据 ,隔几秒读取下一行数据  不是一次全部读取出来 而是隔几秒一行数据 --------------------编程问答-------------------- //同时启动定时器,定义了定时器的名字及为守护线程
Timer timer = new Timer("定时器", true);
timer.schedule(new TimerTask() {
        public void run() {
//执行你的数据库查询
         }
}, 0, 10 * 1000);//当前时间不延迟, 每隔10秒执行一次run()方法
// --------------------编程问答-------------------- 数据库自身的

调度事件、存储过程

来进行处理就可以了、
可能会需要到游标、

--------------------编程问答--------------------

            while (resultSet.next())
            {
                try
                {
                    Thread.sleep(10 * 000);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }

                // rs.getString(columnName);
            }
--------------------编程问答-------------------- 使用JDK自带的定时器API Timer和TimerTask类,参考文章:http://blog.csdn.net/xyang81/article/details/7425943
或Spring整合的quartz任务调度框架,参考文章:http://rain-2372.iteye.com/blog/1143322
以上两种方法任意一种都可以实现你的需求 --------------------编程问答-------------------- jdk自带的timer就可以了  --------------------编程问答-------------------- 数据库方面sqlserver   可以用ROW_NUMBER() OVER(ORDER BY p.POINT_ID) as rn    作为rownumber    然后rn就等于 123456789.。。等等   你就可以用java进行处理这些了  给你一段sql你参考一下

select * from (select ROW_NUMBER() OVER(ORDER BY arow) as rn ,brow from  TABLE   ) where  rn = 1   就是搜索第一横啦, --------------------编程问答-------------------- 用定时器就可以了,比较简单 --------------------编程问答--------------------

Timer timer = new Timer();
TimerTask task = new TimerTask(){
    public void run(){
        //数据库操作    
}};
 timer.schedule(task,new java.util.Date(),10*1000);
--------------------编程问答-------------------- 楼主如果数据不过的话,可以一次性全部取出然后延时显示,可能还效率些,要不然,可以看看楼上是否有好多方法。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,