public StuQuery(Frame Main,String title ,boolean model) {
//调用父类的构造方法,实现模式对话 super(Main,title,model); jp1=new JPanel();
jp1_jl1=new JLabel(\请输入姓名:\); jp1_jl1.setFont(MyFont.f1); jp1_jtf1=new JTextField(15); jp1_jb1=new JButton(\查 询->\); jp1_jb1.setFont(MyFont.f1); jp1_jb1.addActionListener(this); jp1_jb2=new JButton(\清 除\); jp1_jb2.setFont(MyFont.f1); jp1_jb2.addActionListener(this); jp1_jb3=new JButton(\显示所有记录\); jp1_jb3.setFont(MyFont.f1); jp1_jb3.addActionListener(this);
jp1.add(jp1_jl1); jp1.add(jp1_jtf1); jp1.add(jp1_jb1); jp1.add(jp1_jb2); jp1.add(jp1_jb3);
jtb=new JTable();
jsp=new JScrollPane(jtb); this.add(jp1,\); this.add(jsp,\); this.setSize(600,400); this.setVisible(true);
- 25 -
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub //如果点击了查询按钮
if(arg0.getSource()==jp1_jb1) {
//获取文本框的值
String stuName=jp1_jtf1.getText().trim();//其中trim()是去掉文
本框前面可能有的空格,但不能去掉字符串中的空格 }
}
}
else if(arg0.getSource()==jp1_jb2) { }
else if(arg0.getSource()==jp1_jb3) { }
tm=new TableModel(null); jtb.setModel(tm); jp1_jtf1.setText(\);
String sql=\* from student where stuName='\+stuName+\;
//调用模型
tm=new TableModel(sql); jtb.setModel(tm);
- 26 -
2、功能:这是一个表模型,用于更新数据
package com.View;
import com.SqlConnection.*;//引入数据库连接的包 import java.sql.*; import java.util.*;
import javax.swing.table.AbstractTableModel; import com.SqlConnection.SqlConn;
public class TableModel extends AbstractTableModel {
//定义表格所需要的集合 Vector rowData,row,column;
//定义一个记录集,用于接收从数据库返回来的记录集 ResultSet rs;
//定义一个用于连接数据库的对象 SqlConn conn;
public TableModel(String sql) {
if(sql==null) { }
//设置表格的列名 column=new Vector(); column.add(\学号\); column.add(\姓名\); column.add(\性别\); column.add(\年龄\); column.add(\出生地\); - 27 -
sql=\;
column.add(\专业\); column.add(\班级\); column.add(\总学分\); //创建表的记录集 rowData=new Vector(); //调用数据库连接 conn=new SqlConn();
rs=conn.sqlQuery(sql);
try {
while(rs.next()) { }
row=new Vector(); row.add(rs.getString(1)); row.add(rs.getString(2)); row.add(rs.getString(3)); row.add(rs.getString(4)); row.add(rs.getString(5)); row.add(rs.getString(6)); row.add(rs.getString(7)); row.add(rs.getString(8)); rowData.add(row); } catch (Exception e) { }
e.printStackTrace(); // TODO: handle exception
}
- 28 -
}
@Override
//设置表的列名
public String getColumnName(int column) { }
// TODO Auto-generated method stub return (String)this.column.get(column);
@Override //得到的列数
public int getColumnCount() { }
//得到的行数 @Override
public int getRowCount() { }
// TODO Auto-generated method stub return this.rowData.size(); // TODO Auto-generated method stub return this.column.size();
@Override
//得到某行某列的值
public Object getValueAt(int arg0, int arg1) { }
// TODO Auto-generated method stub
return ((Vector)this.rowData.get(arg0)).get(arg1);
- 29 -