db:
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUtil {
public static final String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver" ;
public static final String url = "jdbc:sqlserver://localhost:1433;DatabaseName=SCUT" ;
public static final String user = "sa" ;
public static final String pwd = "123456" ;
public static Connection conn = null ;
static {
try {
Class.forName(driverName) ;
conn = DriverManager.getConnection(url,user,pwd) ;
} catch (ClassNotFoundException | SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//查询而已
public static ResultSet getData(String sql){
ResultSet rs = null ;
try {
Statement stmt = conn.createStatement() ;
rs = stmt.executeQuery(sql) ;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs ;
}
}
package view;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
public class MainView extends JFrame{
//创建组建
JTabbedPane pane = new JTabbedPane(JTabbedPane.TOP) ;
Panel01 panel01 = new Panel01() ;
Panel02 panel02 = new Panel02() ;
public MainView(){
pane.add("查询一",panel01) ;
pane.add("查询二",panel02) ;
this.add(pane) ;
//设置窗口
this.setSize(600,400);
Toolkit tool = Toolkit.getDefaultToolkit() ;
Dimension dim = tool.getScreenSize() ;
int width = (int)dim.getWidth() ;
int height = (int )dim.getHeight() ;
this.setLocation((width-600)/2,(height-400)/2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setVisible(true);
}
public static void main(String[] args){
new MainView() ;
}
}
package view;
import java.awt.BorderLayout;
import java.awt.Dimension;
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.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import db.DBUtil;
public class Panel01 extends JPanel{
//p_center
JPanel p_center = new JPanel() ;
DefaultTableModel tabModel = null ;
JTable table = null;
//p_bottom
JPanel p_bottom = new JPanel() ;
DefaultComboBoxModel comModel = new DefaultComboBoxModel() ;
JComboBox com = new JComboBox(comModel) ;
JButton btn = new JButton("查询") ;
//幢i按组件
public Panel01(){
super() ;
//p_center
String[] names= {"姓名","课程名"} ;
String[][] datas = null ;
tabModel = new DefaultTableModel(datas,names) ;
table= new JTable(tabModel) ;
table.setPreferredSize(new Dimension(550,300));
JScrollPane pane = new JScrollPane(table) ;
p_center.add(pane) ;
//p_bottom
//查数据库
String sql = "select sname from student ;" ;
ResultSet rs = DBUtil.getData(sql) ;
try {
while(rs.next()){
comModel.addElement(rs.getString("sname"));
}
} catch (SQLException e) {
e.printStackTrace();
}
p_bottom.add(com) ;
p_bottom.add(btn) ;
//添加监听其
initListener() ;
this.setLayout(new BorderLayout());
this.add(p_center,BorderLayout.CENTER) ;
this.add(p_bottom,BorderLayout.SOUTH) ;
}
private void initListener() {
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String sname = (String) com.getSelectedItem() ;
String sql = "select student.sname,cname from student,course,sc where student.sno = sc.sno and course.cno = sc.cno and sname = '"+sname+"' ;" ;
ResultSet rs = DBUtil.getData(sql) ;
while(tabModel.getRowCount() > 0){
tabModel.removeRow(tabModel.getRowCount()-1);
}
try {
while(rs.next()){
Vector v = new Vector() ;
v.addElement(rs.getString("sname"));
v.addElement(rs.getString("cname"));
tabModel.addRow(v);
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
}
}