JAVA在Swing界面调用Access数据库的的表格会出现CPU的使用率高达100%,系统会很卡,求个大虾指点下

无任何报错,只是占用的CPU资源很多,打开我做的界面再开个网页的话会很卡,关闭界面就不卡了下面是其中的一个刷新数据功能的数据库调用过程,其他的调用也跟这个差不多[code... 无任何报错,只是占用的CPU资源很多,打开我做的界面再开个网页的话会很卡,关闭界面就不卡了下面是其中的一个刷新数据功能的数据库调用过程,其他的调用也跟这个差不多[code=Java][/code]public void findAction() throws SQLException { //查找与刷新所需时间段的数据
refresh();
Connection conn = null; //连接ACCESS数据库
try {
String strurl="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/myfile/qfc.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection(strurl);
if (conn == null)
return;
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
//2006年05月19日13时19分 //2006年10月19日13时19分
select= stmt.executeQuery("select * from 整点数据 where 时间 >='"+startTime+"'" +
"and 时间<='"+endTime+"'");
try { //确定起始时间和结束时间的取值范围;
select = stmt.executeQuery("select * from 整点数据 where 时间 >='"+startTime+"' " +
"and 时间<='"+endTime+"'and 设备号='"+sortedList.getSelectedValue().toString()+"'");
rsmd = select.getMetaData();
} catch (SQLException e1) {
System.out.print("数据库刷新整点数据异常");
}
Vector columnHeads = new Vector(); //Table表1取数据库列表
Vector rows = new Vector();
try {
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement(rsmd.getColumnName(i));
while ( select.next() )
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
{
currentRow.addElement(select.getString( i ) );
}
rows.addElement(currentRow);
}
} catch (SQLException e1) {
System.out.print("数据库连接整点数据异常");
}
defaultTableModel.setDataVector(rows,columnHeads);
defectsTable.setModel(defaultTableModel);
{
TableColumnModel columns = defectsTable.getColumnModel();
for (int m =0;m<20;m++){
TableColumn column = columns.getColumn(m);
column.setPreferredWidth(150);
}
}
JOptionPane.showMessageDialog(this,"刷新完成");
stmt.close();
} catch (Exception ex) {
System.out.print("数据库连接异常");
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException ec) {
System.out.print("数据库关闭异常");
}
}
}
展开
 我来答
百度网友845f74e61
2012-02-22 · TA获得超过6929个赞
知道大有可为答主
回答量:4050
采纳率:50%
帮助的人:1627万
展开全部
看了一下,
select没有close
处理一下ResultSet试一下。
更多追问追答
追问
我试过了,好像不是这个原因,是不是频繁的调用数据库就会占用很多资源?
追答
频繁的调用数据库就会占用很多资源

会这样的,你一般卡是操作了多少次?
如果一上来就卡,那就肯定是代码有问题了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式