package quochuy.ketnoicsdl;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.sql.*;
import java.awt.event.*;
import java.util.*;
public class ConnectCsdl extends JFrame implements ActionListener{
private JLabel titleLb;
private JButton dBn,iBn;
private JFrame f;
private JPanel np,cp;
private Vector cName = new Vector();
private Vector rData = new Vector();
private JTable table;
private Connection con;
private Statement state;
private DefaultTableModel dtm;
private JScrollPane scp;
public ConnectCsdl() throws ClassNotFoundException,SQLException{
f = new JFrame();
f.setTitle("Quan Ly Sinh Vien");
f.setSize(600,500);
//Ket noi csdl
//Naptrinh dieu khien
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//tao doi tuong ket noi
con = DriverManager.getConnection("jdbc:odbc:QuanLySinhVien","login","password");
//tao doi tuong statement
state = con.createStatement();
reload();
//tao north panel chua table
np = new JPanel();
dtm = new DefaultTableModel(rData,cName);
table = new JTable(dtm);
scp = new JScrollPane(table);
np.add(scp);
f.add(np,BorderLayout.NORTH);
//tao center panel chua cac nut insert and delete button
cp = new JPanel();
titleLb = new JLabel("Chon Cong Viec Ban Muon Thuc Hien");
cp.add(titleLb);
dBn = new JButton("Delete");
iBn = new JButton("Insert");
cp.add(dBn);
cp.add(iBn);
f.add(cp,BorderLayout.CENTER);
f.setVisible(true);
//bat su kien cho cac nut delete va insert
dBn.addActionListener(this);
iBn.addActionListener(this);
}
public void actionPerformed(ActionEvent event){
if(event.getSource() == dBn){
// delete();
}
else
try{
insert();
}
catch(Exception e){System.out.println("Loi tai ham insert");}
}
//ham insert de chen mot record vao table
public void insert()throws ClassNotFoundException,SQLException{
String sql = "INSERT INTO SinhVien(Id,Ten,Khoa,NgaySinh) VALUES('7','Mun Dau Den','cntt','13/7/1993')";
state.executeUpdate(sql);
reload();
//cap nhat lai bang
dtm.fireTableDataChanged();
state.close();
}
//truy van vao csdl de nap thong tin vao columname va row data
public void reload()throws ClassNotFoundException,SQLException{
//xoa cac gia tri co trong cName va rData
cName.clear();
rData.clear();
String sql = "Select * from SinhVien";
ResultSet rs = state.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
//lay so cot
int count = rsmd.getColumnCount();
int i;
cName = new Vector(count);
rData = new Vector(20,20);
//nap ten cac cot vao cName
for(i=1;i<=count;i++)
cName.add(rsmd.getColumnLabel(i));
//Nap gia tri tai moi dong vao row ,roi nap tat cac cac dong vao rData
while(rs.next()){
Vector row = new Vector(count);
for(i=1;i<=count;i++)
row.add(rs.getObject(i));
rData.add(row);
}
}
public static void main(String args []){
try{
ConnectCsdl cc = new ConnectCsdl();
}catch(Exception e){System.out.println("Loi thao tac csdl tai reload");}
}
}