实现通过结果集显示数据库记录的TableModel

0
import javax.swing.table.*;
import java.sql.*;
import java.util.Vector;
public class ResultSetTableModel extends AbstractTableModel{

public ResultSetTableModel(ResultSetaResultSet,String[] columnNames) {
this.columnNames =columnNames;
rs = aResultSet;
try {
rsmd =rs.getMetaData();
}catch(SQLException e) {
e.printStackTrace();
}
}
public String getColumnName(int c) {

return columnNames[c];
}
public int getColumnCount() {
try {
returnrsmd.getColumnCount();
}catch(SQLException e) {
e.printStackTrace();
return0;
}
}
public int getRowCount() {
try {
rs.last();
returnrs.getRow();
}catch(SQLException e) {
e.printStackTrace();
return0;
}
}
public Object getValueAt(int r, int c) {
try {
rs.absolute(r+ 1);
returnrs.getObject(c + 1);
}catch(SQLException e) {
e.printStackTrace();
returnnull;
}
}

private ResultSet rs = null;
private ResultSetMetaData rsmd = null;
private String[] columnNames = null;
}

直接用这个还不行哦。
在具体用之前还要进行一下设置:
stmt =con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
不带参数使用默认值: createStatement()=
createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY)

1.TYPE_FORWORD_ONLY,只可向前滚动;

2.TYPE_SCROLL_INSENSITIVE,双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。

3.TYPE_SCROLL_SENSITIVE,双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。
详看API

带数据库的Jar包怎么打?

0
怎么打带数据库的Jar包。
这很让我头疼了一阵,搜也搜不到确切的答案,今在q群中请教,终于成功一点,在此我用我的项目做例子。
eclipse——SQLServer2000
1. 项目位置:F:workspaceMyProject
2.在MyProject文件夹下建立文件夹lib,将连接数据库(SQLServer)用到的三个Jar文件:msbase.jar,mssqlserver.jar,msutil.jar,复制到其中。
3. 重新制定eclipse的JRE SystemLibrary,制定连接数据库的jar为步骤2中lib中的三个jar
4.在MyProject文件夹下新建个文本文档,内容如下:
MainFest-Version:1.0
Class-Path: ./lib/msbase.jar./lib/mssqlserver.jar ./lib/msutil.jar
Main-Class: com.frame.MainFrame
第二行就是指定的连接数据库用到的三个jar,用空格分开。
第三行是执行类,就是双击这个包自动运行的起始类。com,frame是包名,相当于就是MainFrame.class在com文件夹下的frame文件夹下。
5.http://download.csdn.net/source/149824 可以下个打包的插件(FatJar-6510),这个很容易打包,用eclipse的Export的话出现错误,我还没研究怎么回事。(这是当时提供这个插件者的软件说明,我引用下:1、解压后,放在Eclipse的plugins目录就可以了。(也就是安装插件,一般情况下,Eclipse自动会发现的)2、在项目上面,点击鼠标右键,??>“Build Fat Jar”3、弹出对话框,可以用默认的设置,只不过Jar文件会变大一点点,确认后,开始自动打包。(就不用自己去配置那些文件了,比较适合我这样的菜菜+懒人,懒惰是金….厚厚)在程序的目录下,自动生成一个JAR文件,把swt-win32-xxxx.dll拷贝到目录中,Jar就可以直接运行了。xxxx是一个数字,不同版本的Eclipse数字不一样。)
6.现在就是打包了,eclipse中,在项目上右键——Build FatJar——在Select MainFestfile上打钩,将那个文本文件导入,直接finish就可以了。