package book;
import javax.swing.table.*;
import javax.swing.text.TableView;
import java.awt.BorderLayout;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.GridLayout;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class menu extends JFrame {
private Object[][] data =null;
//private static final Object[][] data = null;
private JTable table=null;
private JPanel jp=new JPanel();
private JPanel jf=new JPanel();
private Connection conn = null;
private PreparedStatement ps = null;
private ResultSet rs = null;
private JScrollPane scpDemo;
void showWindow(){
if(table==null){
table=new JTable();
Object [][]w1=new Object[40][6];
w1=showstudent();
//if(data==null)
//System.out.println("data");
String[] columns={"SNO","SNAME","SAGE","SSEX","SDEPT","SCOME"};
DefaultTableModel model=new DefaultTableModel(w1, columns);//往表里加数据和表头
table.setModel(model);//建立表
JTableHeader myt=table.getTableHeader();
JButton button = new JButton("查询");
JButton button1 = new JButton("修改");
JButton button2 = new JButton("删除");
this.setSize(100, 100);
jp.add(myt,BorderLayout.NORTH);
jp.add(table,BorderLayout.CENTER);
jf.add(button);
jf.add(button1);
jf.add(button2);
jp.add(jf,BorderLayout.SOUTH);
this.add(jp);
this.setTitle("管理员");
this.setBounds(100, 100,600, 800);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setResizable(false);
//对当前窗体添加监听方法
chaxun l1=new chaxun(this);
button.addActionListener(l1);
}
}
public Object[][] showstudent() {
try {
conn = connection.getConnection();//获取数据库链接
System.out.println(conn);
String sql = "select * from Student ";
ps = conn.prepareStatement(sql);
System.out.println(ps);
rs = ps.executeQuery();
System.out.println(rs);
int i=0;
while(rs.next()) {
i++;
}
System.out.println(i);
Object [][]data=new Object[i][6];
i=0;
while (rs.next()) {
data [i][0]=rs.getString("Sno");
data [i][1]=rs.getString("Sname");
data [i][2]=rs.getInt("Sage");
data [i][3]=rs.getString("Ssex");
data [i][4]=rs.getString("Sdept");
data [i][5]=rs.getDate("Scome");
//if(data[1][0]==null)
i++;
}
} catch (SQLException e) {
e.printStackTrace();
}
if(data==null)
System.out.println("data is null");
return data;
}
}
package book;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class connection {
public static Connection getConnection() throws SQLException {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver"); //加载数据库驱动
System.out.println("数据库驱动加载成功!"); //输出的信息
String url = "jdbc:oracle:thin:@localhost:1521:test"; //获取连接URL
String user = "Scott"; //连接用户名
String password = "miss"; //连接密码
conn = DriverManager.getConnection(url, user, password); //获取数据库连接
if (conn != null) {
System.out.println("成功的与Oracle数据库建立连接!!");
}
} catch (Exception e) {
e.printStackTrace();
}
return conn; //返回Connection实例
}
public static void main(String[] args) {
connection getConn = new connection();
try {
getConn.getConnection();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(getConn);
}
}
这是我建的的数据表,里面加了五组数据
CREATE TABLE Student
(Sno varchar2(17) primary key,
Sname varchar2(10) not null UNIQUE,
Sage INT,
Ssex char(2) CHECK(Ssex IN ('男','女') ),
Sdept varchar2(20)
Scome DATE);