连接到数据库的程序的源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这个程序是连接到数据库的一个程序,主要功能是在上方的文本输入框中输入查询语句,实现从数据库中查询的功能,还可以在下方的过滤文本框中输入要过滤的文本,实现过滤查询结果的功能。

现在的问题是编译能够成功,但是运行时会报错。错误信息及源代码在下面给出,请问原因为何?多谢指教。

//这是ResultSetTableModel类,用作JTable的构造函数的参数。

package ResultSetTableModel;

import java.sql.*;

import javax.swing.table.*;

public class ResultSetTableModel extends AbstractTableModel

{

private Connection connection;

private Statement statement;

private ResultSet resultset;

private ResultSetMetaData metadata;

private int numberofrows;

private boolean connectedtodatabase=false;

public ResultSetTableModel(String url,String username,String password,String query) {

try

{

connection=DriverManager.getConnection(url,username,password);

statement=connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet .CONCUR_READ_ONL Y);

connectedtodatabase=true;

setQuery(query);

}

catch(SQLException sqlexception)

{

System.out.println("error on connecting to database");

}

}

public void setQuery(String query) throws SQLException,IllegalStateException {

if(!connectedtodatabase)

{

throw new IllegalStateException("Not connected to database");

}

resultset=statement.executeQuery(query);

metadata=resultset.getMetaData();

}

public void disconnectFromDatabase()

{

if(connectedtodatabase)

{

try

{

resultset.close();

statement.close();

connection.close();

}

catch(SQLException sqlException)

{

sqlException.printStackTrace();

}

finally

{

connectedtodatabase=false;

}

}

}

public int getColumnCount() throws IllegalStateException

{

int currentrow=1;

if(!connectedtodatabase)

{

throw new IllegalStateException("Not connected to database");

}

try

{

st();

currentrow=resultset.getRow();

}

catch(SQLException sqlexception)

{

sqlexception.printStackTrace();

}

return currentrow;

}

public Class getColumnClass(int column) throws IllegalStateException {

if(!connectedtodatabase)

{

throw new IllegalStateException("Not connected to database");

}

try

{

String className=metadata.getColumnClassName(column+1);

return Class.forName(className);

}

catch(Exception exception)

{

exception.printStackTrace();

}

finally

{

return Object.class;

}

}

public String getColumnName(int column) throws IllegalStateException {

String columnname="null";

if(!connectedtodatabase)

{

throw new IllegalStateException("Not connected to database");

}

try

{

columnname=metadata.getColumnName(column+1);

}

catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally

{

return columnname;

}

}

相关文档
最新文档