刚刚开始学习JAVA写了一个小程序,以下是出现的问题及部分源代码我在jbuilder中将写好的程序run project,成功,显示相关内容
但是当我将程序build成exe文件时在cmd中运行时,无法显示相关内容程序简要说明:每隔20秒从数据库中取得N条(可定制)记录并作记录显示出来,下次则不取出该条记录,即不重复显示。可是在jbuilder中运行成功,build成exe文件后在cmd中就无法执行到vector order后面的内容,请高手指点。源程序如下
package com.hdml.timer;import com.hdml.timer.util.*;
import java.util.*;public class ViewJoke
implements Runnable {
private SystemPara para = new SystemPara();
private int ViewNum;
private String LogFile;
private DBAccess dba = new DBAccess(); public ViewJoke() {
} public void run() {
ViewNum = para.ViewNum;
LogFile = para.LogFile;
while (true) {
try {
//System.out.println("ViewNum:" + ViewNum);
//System.out.println("LogFile:" + LogFile); String sql1 =
"SELECT Id, Content, CreateTime FROM JokeDb where IsView=0 ORDER BY CreateTime DESC";
//System.out.println(sql1);
Vector Order; //问题在此!!!这句话下面System.out.println不显示内容。
Order = dba.select(sql1, 3, ViewNum, "timer");
if (Order == null) {
System.out.println("已没有内容!!!");
Thread.currentThread().sleep(1000);
continue;
}
//int size = Order.size();
for (int i = 0; i < ViewNum; i++) {
try {
//Vector row = (Vector) Order.remove(Order.size() - 1);
String Id = ( (String) Order.elementAt(0)).trim();
String Content = ( (String) Order.elementAt(1)).trim();
String CreateTime = ( (String) Order.elementAt(2)).trim();
/*System.out.println("Id:" + Id + "内容:" + Content + " " + "时间:" +
CreateTime);*/
System.out.println(Id + ":" + Content);
String sql2 =
"UPDATE JokeDb SET IsView=1 where Id=" + Id + "";
//System.out.println(sql2);
dba.update(sql2, "timer"); }
catch (Exception ex) {
Log.printError(ex, "", LogFile);
try {
Thread.currentThread().sleep(100);
}
catch (Exception ex1) {}
}
}
Thread.currentThread().sleep(20 * 1000);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
但是当我将程序build成exe文件时在cmd中运行时,无法显示相关内容程序简要说明:每隔20秒从数据库中取得N条(可定制)记录并作记录显示出来,下次则不取出该条记录,即不重复显示。可是在jbuilder中运行成功,build成exe文件后在cmd中就无法执行到vector order后面的内容,请高手指点。源程序如下
package com.hdml.timer;import com.hdml.timer.util.*;
import java.util.*;public class ViewJoke
implements Runnable {
private SystemPara para = new SystemPara();
private int ViewNum;
private String LogFile;
private DBAccess dba = new DBAccess(); public ViewJoke() {
} public void run() {
ViewNum = para.ViewNum;
LogFile = para.LogFile;
while (true) {
try {
//System.out.println("ViewNum:" + ViewNum);
//System.out.println("LogFile:" + LogFile); String sql1 =
"SELECT Id, Content, CreateTime FROM JokeDb where IsView=0 ORDER BY CreateTime DESC";
//System.out.println(sql1);
Vector Order; //问题在此!!!这句话下面System.out.println不显示内容。
Order = dba.select(sql1, 3, ViewNum, "timer");
if (Order == null) {
System.out.println("已没有内容!!!");
Thread.currentThread().sleep(1000);
continue;
}
//int size = Order.size();
for (int i = 0; i < ViewNum; i++) {
try {
//Vector row = (Vector) Order.remove(Order.size() - 1);
String Id = ( (String) Order.elementAt(0)).trim();
String Content = ( (String) Order.elementAt(1)).trim();
String CreateTime = ( (String) Order.elementAt(2)).trim();
/*System.out.println("Id:" + Id + "内容:" + Content + " " + "时间:" +
CreateTime);*/
System.out.println(Id + ":" + Content);
String sql2 =
"UPDATE JokeDb SET IsView=1 where Id=" + Id + "";
//System.out.println(sql2);
dba.update(sql2, "timer"); }
catch (Exception ex) {
Log.printError(ex, "", LogFile);
try {
Thread.currentThread().sleep(100);
}
catch (Exception ex1) {}
}
}
Thread.currentThread().sleep(20 * 1000);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货