下面是查询部分的代码,是实现的是;如果姓名和学号都为空,则点击确定按钮时,显示全部记录,
但是现在只能显示表中的第一条记录。
package Gui;import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;import util.DbManager;public class SearchBy { public void searchBy() {
final JFrame f = new JFrame("以何种方式查询?"); f.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 30)); JLabel l = new JLabel("请选择   以何种方式查询?并填写相关信息 ");
f.add(l); JLabel l1 = new JLabel("学号:");
final JTextField t1 = new JTextField(5);
f.add(l1);
f.add(t1);
JLabel l2 = new JLabel("姓名:");
final JTextField t2 = new JTextField(5);
f.add(l2);
f.add(t2); JButton bt = new JButton("确定");
f.add(bt);
bt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub DbManager db = new DbManager(); if (!t1.getText().isEmpty() && t2.getText().isEmpty()) { String sql = "select * from t_student ";
sql = sql + "where id= '" + t1.getText() + "'";
ResultSet rs = db.executeQuery(sql);
try {
if (rs.next()) {
System.out.println("\n按学号查询!");
show(sql);
} else
JOptionPane.showMessageDialog(null, "学号为"
+ t1.getText() + "的数据不在数据库中!", null,
JOptionPane.ERROR_MESSAGE);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (!t2.getText().isEmpty() && t1.getText().isEmpty()) { String sql = "select * from t_student ";
sql = sql + "where name= '" + t2.getText() + "'";
ResultSet rs = db.executeQuery(sql);
try {
if (rs.next()) {
System.out.println("\n按姓名查询!");
show(sql);
} else
JOptionPane.showMessageDialog(null, "姓名为"
+ t2.getText() + "的数据不在数据库中!", null,
JOptionPane.ERROR_MESSAGE);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} }
if (t1.getText().isEmpty() && t2.getText().isEmpty()) {
// System.out.println("\n请规范填写信息!");
String sql = "select * from t_student";
ResultSet rs = db.executeQuery(sql);
try {
if (rs.next()) {
show(sql);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} } db.close(); }
}); f.setSize(600, 180);
f.setBackground(Color.black);
f.setLocation(310, 210); f.setVisible(true); } public void show(String sql) { JFrame f = new JFrame("显示学生信息"); System.out.println(sql); DbManager db = new DbManager();
ResultSet rs = db.executeQuery(sql); Vector<String> v = new Vector<String>();
String sql1 = "select count(*) from t_student";

try {
if (rs.next()) {

String s = "               ";
v.add(s + rs.getString("id"));
v.add(s + rs.getString("name"));
v.add(s + rs.getString("gender"));
v.add(s + rs.getString("birth")); }
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


db.close();
Vector row = new Vector();
row.add(v);

Vector<String> titles = new Vector<String>();
titles.add("学号");
titles.add("姓名");
titles.add("性别");
titles.add("生日"); JTable jl = new JTable(row, titles);
JScrollPane scr = new JScrollPane(jl);
f.add(scr); f.setSize(500, 280);
f.setBackground(Color.black);
f.setLocation(390, 280); f.setVisible(true); }}
[align=left]