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

每隔一段时间对ORACLE进行自动的查询

我是一个JAVA初学者,在学对ORACLE的查询,想到了一个问题,请各位大侠多多帮忙,这个问题是:我想实现每隔一段时间对ORACLE进行自动的查询,并且能显示在JTable 里面,请各位大侠多多帮忙,这个问题我想了很多天了,一直都没实现的了 --------------------编程问答-------------------- --------------------编程问答-------------------- 这个要用到排程,LZ可以在网上找一下关于排程的资料,在google里面搜就有很多,具体如何你自己去看吧 --------------------编程问答-------------------- B/S我还会 C/S的话 只能帮楼主顶一下 =。=||    --------------------编程问答-------------------- java当中有个Timer的对象,你去看看吧。这个可以用作定时。 --------------------编程问答-------------------- java要实现此功能需要使用多线程

new Thread(new Runnable(){
   public void run(){
    try {
     while(true){
       Thread.sleep(1000);
     }
    }(InterruptedException e) {e.printStackTrace();}
}})
--------------------编程问答-------------------- AutoTask autoTask=new AutoTask();
Timer timer = new Timer();
timer.schedule(autoTask,new Date(),1000);


class AutoTask extends TimerTask{
}

这样就可以呀 --------------------编程问答-------------------- 等待高手。。。 --------------------编程问答-------------------- 这只是个例子,run方法根据所设定的参数执行,new Date()表示从当前时间开始,1000表示ms。即表示,从当前时间开始,每隔1000ms执行一次run方法。new Date()和1000都可以根据你自己的需要设定。

package com.study.timer;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerTest {

public static void main(String[] args) {
//这个是从当前时间开,每隔1000ms执行一次,也就是1秒钟打印一次。你就在run里面调用你需要的方法吧
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
System.out.println("hello world");
}

},new Date(), 1000);
}
}
--------------------编程问答-------------------- 这是仿照你的代码写的一个测试的(数据库部分需要你自己改)
public class JTableDemo {
private Vector vector1 = new Vector();
// private Vector vector2 = new Vector();
private Vector vector3 = new Vector();
JTable student;
JScrollPane pane3;
JPanel panel;
JFrame frame;
int i = 1;//主要用于区别是否成功刷新了页面

public JTableDemo() {
vector1.addElement("提单号");
vector1.addElement("dd");
vector1.addElement("总重量");
vector1.addElement("总卷数");
vector1.addElement("客户名称");
vector1.addElement("有效开始时间");
vector1.addElement("有效结束时间");
vector1.addElement("备注");
}

public void createTable(){
student = new JTable (vector3,vector1);
student.setPreferredScrollableViewportSize(new Dimension(1000, 100));//设置表格的大小
student.setRowHeight (30);//设置每行的高度为20
student.setSelectionForeground (Color.black);//设置所选择行的前景色
student.setGridColor (Color.black);//设置网格线的颜色
student.setShowGrid (true);//是否显示网格线
student.setShowHorizontalLines (true);//是否显示水平的网格线
student.setShowVerticalLines (true);//是否显示垂直的网格线
student.doLayout ();//使表布局行与列
student.setBackground (Color.lightGray);//表格背景
pane3 = new JScrollPane (student);
panel = new JPanel (new GridLayout (0, 1));
panel.setPreferredSize (new Dimension (1000,400));
panel.add (pane3);
frame = new JFrame ("xxxxxxxxx");
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setContentPane (panel);//将Panel加入窗口中
frame.setBounds(200, 200, 1000, 300);
frame.setVisible(true);
}

public static void main(String[] args) {
JTableDemo demo = new JTableDemo();
demo.createTable();
demo.excuteTimerTask();
}

public void excuteTimerTask(){
        final Timer timer = new Timer();
        TimerTask tt=new TimerTask() { 
            @Override
            public void run() {
             vector3.clear();
             //你需要处理的查询结果
             Vector vector2 = new Vector();
             if(i==1) {
             vector2.addElement("1021");
             vector2.addElement("1021");
             vector2.addElement("1021");
             vector2.addElement("1021");
             vector2.addElement("1021");
             vector2.addElement("1021");
             vector2.addElement("1021");
             vector2.addElement("1021");
             } else if(i==3){
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             } else{
             vector2.addElement("2222");
             vector2.addElement("222");
             vector2.addElement("222");
             vector2.addElement("22");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             vector2.addElement("1111111");
             }
             i++;
         vector3.addElement(vector2);
         student = new JTable (vector3,vector1);
         pane3 = new JScrollPane (student);
         frame.setContentPane(panel);
         frame.validate();
            }
        };
        timer.schedule(tt, 1000, 1000);
    }

}
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,