//只是数据库建的表(sql server 2000)
create table stu
( stuId varchar(30) primary key,
stuName nvarchar(50) not null,
stuSex nchar(1) check (stuSex in('男','女') )default '男',
stuAge int check (stuAge>1) ,
stuJg nvarchar(30),
stuDept nvarchar(40)
)
insert into stu values('sp001','孙悟空','男',20,'花果山','少林派');
insert into stu values('sp002','猪八戒','男',40,'高老庄','天上派');
insert into stu values('sp003','沙悟净','男',30,'花果山','少林派');
insert into stu values('sp004','唐三藏','男',20,'花果山','少林派');
select * from stu //
下面是在java中写的代码
package com.zkyc;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.accessibility.Accessible;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
public class Test extends JFrame implements ActionListener{
//
JTable jt = null;
JScrollPane jsp = null;
JPanel jp1;
JPanel jp2;
JLabel jl = null;
JTextField jtf = null;
JButton jb1, jb2,jb3,jb4;
public static void main(String[] args) {
// TODO Auto-generated method stub
new Test();
}
@SuppressWarnings("unchecked")
public Test(){
StuModel sm = new StuModel();
jt = new JTable(sm.rowData, sm.columnNames);
jsp = new JScrollPane(jt);
this.add(jsp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jp1 = new JPanel();
jtf = new JTextField(10);
jl = new JLabel("请输入查询姓名 ");
jb1 = new JButton("查询");
jb1.addActionListener(this);
jp1.add(jl);
jp1.add(jtf);
jp1.add(jb1);
// this.add(jp1, BorderLayout.NORTH);
// this.add(jt, BorderLayout.CENTER);
jp2 = new JPanel();
jb2 = new JButton("添加");
jb2.addActionListener(this);
jb3 = new JButton("修改");
jb4 = new JButton("删除");
jp2.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
this.setLocation(300, 300);
this.add(jp1,BorderLayout.NORTH);
this.add(jp2, BorderLayout.SOUTH);
this.add(jt, BorderLayout.CENTER);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource()==jb1) {
String name = this.jtf.getText().trim();
String sql = "select * from stu where stuName='"+name+"'";
//构建新的数据模型类,并更新
StuModel sm = new StuModel(sql);
//跟心Jtable
jt.setModel(sm);
}
else if (e.getSource() == jb2) {
new StuDialog();
StuModel sm = new StuModel();
//跟心Jtable
jt.setModel(sm);
}
}
}
package com.zkyc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
public class StuModel extends AbstractTableModel{
Vector rowData, columnNames;
//定义操作数据库所学要的
PreparedStatement ps = null;
ResultSet rs = null;
Connection ct = null;
public void init (String sql){
if (sql.equalsIgnoreCase("")) {