爱玺玺

爱玺玺的生活日记本。wx:lb87626

java+sqlerver实现对学生的搜索功能

StuManage.java


package stuManage;


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.util.Vector;


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 StuManage extends JFrame implements ActionListener{

    JPanel jp1=null,jp2=null;

    JScrollPane jsp=null;

    JLabel jl=null;

    JTextField jtf=null;

    JButton jb1=null,jb2=null,jb3=null,jb4=null;

    JTable jt=null;

public static void main(String[] args) {

StuManage sm=new StuManage();

}

    public StuManage() {

jl=new JLabel("输入姓名:");

jtf=new JTextField(10);

jb1=new JButton("搜索");

jb1.setActionCommand("search");

jb1.addActionListener(this);

jp1=new JPanel();

jp1.add(jl);

jp1.add(jtf);

jp1.add(jb1);

this.add(jp1,"North");

        StuModel sm=new StuModel();

jt=new JTable(sm);//使用table模型建表

jsp=new JScrollPane(jt);

this.add(jsp);

jb2=new JButton("增加");

jb2.setActionCommand("add");

jb2.addActionListener(this);

jb3=new JButton("修改");

jb3.setActionCommand("mod");

jb3.addActionListener(this);

jb4=new JButton("删除");

jb4.setActionCommand("del");

jb4.addActionListener(this);

jp2=new JPanel();

jp2.add(jb2);

jp2.add(jb3);

jp2.add(jb4);

this.add(jp2,"South");

this.setBounds(200,200,400,300);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

}


@Override

public void actionPerformed(ActionEvent e) {

if(e.getActionCommand().equals("search")){

String sw=jtf.getText().trim();

String sql="select * from students where stu_name='"+sw+"'";

StuModel sm=new StuModel(sql);

jt.setModel(sm);//setModel更新

}

}

}


StuModel.java

package stuManage;


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.Vector;


import javax.swing.JTable;

import javax.swing.event.TableModelEvent;

import javax.swing.table.AbstractTableModel;


public class StuModel extends AbstractTableModel{

JTable jt=null;

    Vector jtCol=null,jtrows=null,jtrdata=null;  

    //操作数据库的

    PreparedStatement ps=null;

    Connection c=null;

    ResultSet rs=null;   

    //构造函数里面创建表的模型Model

public StuModel() {

selectSQL("");

}

public StuModel(String sql){

selectSQL(sql);

}

public void selectSQL(String sql){

jtCol=new Vector();

jtCol.add("学号");

jtCol.add("姓名");

jtCol.add("性别");

jtCol.add("年龄");

jtCol.add("籍贯");

jtrows=new Vector();

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=stuManage","sa","sa");

if(sql.equals("")){

ps=c.prepareStatement("select *from students");

}else{

ps=c.prepareStatement(sql);

}

rs=ps.executeQuery();

while(rs.next()){

jtrdata=new Vector();

jtrdata.add(rs.getInt(1));

jtrdata.add(rs.getString(2));

jtrdata.add(rs.getString(3));

jtrdata.add(rs.getInt(4));

jtrdata.add(rs.getString(5));

jtrows.add(jtrdata);

}

} catch (Exception e) {

e.printStackTrace();

}finally{

try{

if(rs!=null) rs.close();

if(ps!=null) ps.close();

if(c!=null) c.close();

}catch(Exception e2){

e2.printStackTrace();

}

}


jt=new JTable(jtrows, jtCol);

}

//需要重写获取列名,列名在Vector类的jtCol里面

@Override

public String getColumnName(int arg0) {

// TODO 自动生成的方法存根

//return super.getColumnName(arg0);//这是自动生成的

return (String) jtCol.get(arg0);

}


@Override

public int getColumnCount() {

// TODO 自动生成的方法存根

return jtCol.size();

}


@Override

public int getRowCount() {

// TODO 自动生成的方法存根

return jtrows.size();

}

/*

row - 要查询的值所在行

col - 要查询的值所在列

返回:

指定单元格位置的值 Object

 */

@Override

public Object getValueAt(int row, int col) {//这个参数是在哪里传进去的?根据上面的两个函数已经自动传进去了。

// TODO 自动生成的方法存根

return  ((Vector)jtrows.get(row)).get(col);//取出表格里面数据

}


}


数据库在前面的学生数据表文章

发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5