package 终结者.src;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import javax.swing.table.*;
class queryFrame extends JFrame{
private JPanel contenPane;
int recordCount=0;
int columnCount=0;
Connection con=null;
ResultSet rs=null;
Statement statement=null;
boolean lastQuery=false;
Vector vector;
String[] title;
AbstractTableModel tm;
JScrollPane scroll;
JTable table;
//成员函数
public queryFrame(String tableName){
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try{
frameInit(tableName);
}
catch(Exception ex){
ex.printStackTrace();
}
}
//调用函数frameInit();
private void frameInit(String tableName)throws Exception{
//初始化显示数据的表格
tm=new AbstractTableModel(){
public int getColumnCount(){
return title.length;
}
public int getRowCount(){
return vector.size();
}
public Object getValueAt(int row,int column){
if(!vector.isEmpty()){
return ((Vector)vector.elementAt(row)).elementAt(column);
}
else{return null;}
}
public void setValueAt(Object value,int row,int column){
}
public String getColumnName(int column){
return title[column];
}
public Class getColumnClass(int c){
return getValueAt(0,c).getClass();
}
public boolean isCellEditable(int row,int column){
return false;
}
};//初始化显示数据的表格 函数结束
contenPane=(JPanel)this.getContentPane();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
try{ con=DriverManager.getConnection("jdbc:odbc:hello","system","system");
statement=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
System.out.println("I am under try");
String sql="select *from "+tableName.toString();
System.out.println("I am back!");
rs=statement.executeQuery(sql);// 将数据放入结果集中
System.out.println("I am back1-2!");
ResultSetMetaData rsData=rs.getMetaData();// 获取所选表的字段信息
columnCount=rsData.getColumnCount();//获取所选表的字段个数
title=new String[columnCount]; //将所选表的字段名称存入数组
System.out.println("I am back2!");
for(int i=1;i<=columnCount;i++){
title[i-1]=rsData.getColumnLabel(i); }
while(rs.next()){//获取表记录 的个数
recordCount++;}
this.setSize(new Dimension(columnCount*80+50,recordCount*20+50));//通过数据行及数据列定义窗口的大小
vector=new Vector();
table=new JTable(tm);
table.setToolTipText("Display Query Result");
table.setAutoResizeMode(table.AUTO_RESIZE_ALL_COLUMNS);
table.setCellSelectionEnabled(false);
table.setShowHorizontalLines(true);
table.setShowVerticalLines(true);
scroll=new JScrollPane(table);
scroll.setBounds(new Rectangle(10,10,10+columnCount*80,10+recordCount*20));//通过数据行数及列数定义表格大小
contenPane.add(scroll,BorderLayout.CENTER);
//this.add(contenPane);
vector.removeAllElements();
tm.fireTableStructureChanged();
this.validate();
rs.beforeFirst();
while(rs.next()){
Vector rec_vector=new Vector();
for(int i=1;i<=columnCount;i++){
rec_vector.addElement(rs.getString(i));
}
vector.addElement(rec_vector);
}
tm.fireTableStructureChanged();//刷新表格显示结果集中的数据
}
catch(SQLException ex){
System.out.println("\nERROR---2--SQLException-----------\n");
while(ex!=null){
System.out.println("Message:"+ex.getMessage());
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("ErrorCode:"+ex.getErrorCode());
ex=ex.getNextException(); }
}
catch(Exception ex){
ex.printStackTrace();
}
this.setTitle("显示"+tableName+"表中的数据");
}
protected void processWindowEvent(WindowEvent e){
super.processWindowEvent(e);
if(e.getID()==WindowEvent.WINDOW_CLOSING){
try{
statement.close();
con.close();
}
catch(Exception ex){
ex.printStackTrace();
}
this.dispose();
}
}//frameInit();
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
终结者.rar (34个子文件)
终结者
.project 385B
bin
MultiPageQueryFrame.class 5KB
Find$1.class 568B
Scorestage.class 7KB
mainWindow.class 3KB
Secondstudent.class 5KB
Admitstudent.class 8KB
File1.class 5KB
Stais.class 3KB
Firstudent.class 6KB
AddFI.class 7KB
queryFrame$1.class 2KB
MultiPageQueryFrame$1.class 702B
Find.class 3KB
picture.class 395B
queryFrame.class 5KB
MultiPageQueryFrame$2.class 703B
分表显示
新建 文本文档 (2).txt 4KB
src
考生登录界面.java 3KB
mainWindow.java 2KB
picture.java 2KB
AddFI.java 8KB
Stais.java 2KB
File1.java 4KB
Firstudent.java 6KB
管理员登陆界面.java 2KB
Find.java 2KB
Secondstudent.java 5KB
Admitstudent.java 8KB
开始界面.java 2KB
Scorestage.java 9KB
MultiPageQueryFrame.java 3KB
queryFrame.java 4KB
.classpath 232B
共 34 条
- 1
giant7
- 粉丝: 207
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页