求java 表格 输出数据库表的方法 老大给我个能用的吧,我都试验了n个,各种异常,表之前我已经画好了,现在只能在表格的定制代码里修改,求一个能用的. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,楼主如果能掌握JTable的使用方法的话,就能很容易解决这个问题了,楼主要先把JTabel和TableModel弄明白哦~我以前写过一个显示数据库的JTable,不过找不到了貌似还有,JDK自带的Demo程序中也有类似的例子哦,有兴趣可以去找一下~在JDK安装目录下:demo\jfc\TableExample这个里面 我贴点自己以前写的代码,是成功的,里面有JTable的简单用法,你看看.import java.awt.BorderLayout;import java.io.IOException;import javax.swing.*;import java.sql.*;import java.util.*;/** * @author WYM */public class Query_AllDuzhe extends JDialog{ /** Creates a new instance of Query_AllDuzhe */ public Query_AllDuzhe(JFrame owner) { super(owner,"显示所有读者的信息",true); this.Update_Con(); this.setResizable(false); this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); this.setTitle("显示所有读者的信息"); } public void Update_Con() { flag=0; try { Class.forName("sun.jdbc.odbc.JdbcOdbc.Driver"); } catch (ClassNotFoundException ex) { } try {// Connection con=DriverManager.getConnection("jdbc:odbc:XSBOOK"); String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=sources\\data.mdb;pwd=shujuyuan"; Connection con=DriverManager.getConnection(url); Statement st=con.createStatement(); ResultSet rs=st.executeQuery("select * from XS"); ArrayList<String> libCard=new ArrayList<String>(); ArrayList<String> name=new ArrayList<String>(); ArrayList<String> major=new ArrayList<String>(); ArrayList<String> gender=new ArrayList<String>(); ArrayList<String> birth=new ArrayList<String>(); ArrayList<String> borrowNum=new ArrayList<String>(); while(rs.next()) { String lc=new String(rs.getString("libCard")); String na=new String(rs.getString("name")); String ma=new String(rs.getString("major")); String sex=new String(rs.getString("gender")); String bi=new String(rs.getString("birth")); String bn=new String(String.format("%d",rs.getInt("borrowNum"))); libCard.add(lc); name.add(na); major.add(ma); gender.add(sex); birth.add(bi); borrowNum.add(bn); } int n=name.size(); String[][] xsData=new String[n][6]; for(int i=0;i<n;i++) { xsData[i][0]=new String(libCard.get(i)); xsData[i][1]=new String(name.get(i)); xsData[i][2]=new String(major.get(i)); xsData[i][3]=new String(gender.get(i)); xsData[i][4]=new String(birth.get(i).substring(0,10)); xsData[i][5]=new String(borrowNum.get(i)); } String[] title={"借书证号","姓名","专业","性别","出生日期","借书数"}; JTable xsInfo=new JTable(xsData,title); JScrollPane jsp=new JScrollPane(xsInfo); this.add(jsp,BorderLayout.CENTER); }catch (Exception ex) { JOptionPane.showConfirmDialog(null,"找不到数据库驱动程序!","Warning",JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE); flag=-1; } } public int getFlag() { return flag; } private int flag;} 静态常量与非静态常量的区别 lucene索引文件超过指定容量,怎么存放到不同目录或者文件夹 ' java播放wav问题,莫名其妙的问题 怎么控制Frame或者Dialog显示的时间... 一个基础问题(但是现在俺还没弄懂) 谁做过网上行政审批系统 在JTable中如何控制鼠标焦点啊? 高分请教:怎样得到机器的系统信息? 请问这个bean什么地方错了? 谁用过cvs? 关于文件下载的文件名问题???????????? 帮我看看 表格输出数据库的代码为何有异常
楼主要先把JTabel和TableModel弄明白哦~
我以前写过一个显示数据库的JTable,不过找不到了貌似
还有,JDK自带的Demo程序中也有类似的例子哦,有兴趣可以去找一下~
在JDK安装目录下:demo\jfc\TableExample
这个里面
import java.io.IOException;
import javax.swing.*;
import java.sql.*;
import java.util.*;/**
* @author WYM
*/
public class Query_AllDuzhe extends JDialog{
/** Creates a new instance of Query_AllDuzhe */
public Query_AllDuzhe(JFrame owner) {
super(owner,"显示所有读者的信息",true);
this.Update_Con();
this.setResizable(false);
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
this.setTitle("显示所有读者的信息");
}
public void Update_Con()
{
flag=0;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbc.Driver");
} catch (ClassNotFoundException ex) { }
try {
// Connection con=DriverManager.getConnection("jdbc:odbc:XSBOOK");
String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=sources\\data.mdb;pwd=shujuyuan";
Connection con=DriverManager.getConnection(url);
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from XS");
ArrayList<String> libCard=new ArrayList<String>();
ArrayList<String> name=new ArrayList<String>();
ArrayList<String> major=new ArrayList<String>();
ArrayList<String> gender=new ArrayList<String>();
ArrayList<String> birth=new ArrayList<String>();
ArrayList<String> borrowNum=new ArrayList<String>();
while(rs.next())
{
String lc=new String(rs.getString("libCard"));
String na=new String(rs.getString("name"));
String ma=new String(rs.getString("major"));
String sex=new String(rs.getString("gender"));
String bi=new String(rs.getString("birth"));
String bn=new String(String.format("%d",rs.getInt("borrowNum")));
libCard.add(lc);
name.add(na);
major.add(ma);
gender.add(sex);
birth.add(bi);
borrowNum.add(bn);
}
int n=name.size();
String[][] xsData=new String[n][6];
for(int i=0;i<n;i++)
{
xsData[i][0]=new String(libCard.get(i));
xsData[i][1]=new String(name.get(i));
xsData[i][2]=new String(major.get(i));
xsData[i][3]=new String(gender.get(i));
xsData[i][4]=new String(birth.get(i).substring(0,10));
xsData[i][5]=new String(borrowNum.get(i));
}
String[] title={"借书证号","姓名","专业","性别","出生日期","借书数"};
JTable xsInfo=new JTable(xsData,title);
JScrollPane jsp=new JScrollPane(xsInfo);
this.add(jsp,BorderLayout.CENTER);
}catch (Exception ex) {
JOptionPane.showConfirmDialog(null,"找不到数据库驱动程序!","Warning",JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE);
flag=-1;
}
}
public int getFlag()
{
return flag;
}
private int flag;
}