TRƯỜNG ĐẠI HỌC KHOA HỌC
KHOA CÔNG NGHỆ THÔNG TIN
HỌ VÀ TÊN SINH VIÊN : LÊ VĂN QUÝ
MÃ SINH VIÊN
: 18T1021261
TIỂU LUẬN
Cài đặt một số chức năng cho dự án của Phần mềm quản lý
việc mua bán phụ kiện - thức ăn và ký gửi pet Aka Huế
TÊN LỚP HỌC PHẦN
: KỸ NGHỆ PHẦN MỀM – NHÓM 2
MÃ LỚP HỌC PHẦN
: 2020-2021.2.TIN3043.002
GIẢNG VIÊN HƯỚNG DẪN : Ts.Lê Văn Tường Lân
HUẾ, THÁNG 6 NĂM 2021
1
Mục lục:
I. Chức năng quản lý nhân viên. ..................................................................................... 3
1. Giao diện màn hình chức năng quản lý thơng tin. ................................................. 3
2. Một số hàm cơ bản của chức năng: ......................................................................... 3
a. Hàm lấy dữ liệu bảng nhân viên từ SQL. .............................................................. 3
b. Hàm in dữ liệu bảng nhân viên ra màn hình. ....................................................... 4
c.
Hàm lưu thơng tin một nhân viên mới vào dữ liệu SQL. ..................................... 5
d. Hàm xóa thông tin một nhân viên trong dữ liệu SQL. ......................................... 6
e.
Hàm sửa thông tin một nhân viên trong dữ liệu SQL. ......................................... 6
f.
Hàm kiểm tra mã nhân viên mỗi khi thêm một nhân viên. .................................. 7
3. Toàn bộ code chức năng quản lý nhân viên. ........................................................... 7
II.
Chức năng quản lý chuồng và thông tin ký gửi .................................................... 19
1. Giao diện màn hình chức năng quản lý chuồng và thơng tin ký gửi. ................. 19
2. Một số hàm cơ bản của chức năng......................................................................... 19
a. Hàm nhập dữ liệu thông tin ký gửi từ SQL. ........................................................ 19
b. Hàm lưu thông tin ký gửi khi đăng ký ký gửi pes mới trong dữ liệu SQL. ........ 20
c.
Hàm xóa thơng tin ký gửi của một chuồng trong dữ liệu SQL. ......................... 21
d. Hàm cập nhật lại thông tin của một chuồng trong dữ liệu SQL. ....................... 22
e.
Hàm kiểm tra ngày trả pes với thời gian hiện tại có hợp lý hay khơng. ............ 23
3. Tồn bộ code chức năng quản lý chuồng và thơng tin ký gửi. ............................ 23
III.
Hàm kết nối SQL ..................................................................................................... 48
2
Một số chức năng cho dự án của Phần mềm quản lý việc mua
bán phụ kiện - thức ăn và ký gửi pet Aka Huế
Bằng ngôn ngữ java
I.
Chức năng quản lý nhân viên.
1. Giao diện màn hình chức năng quản lý thông tin.
2. Một số hàm cơ bản của chức năng:
a.
Hàm lấy dữ liệu bảng nhân viên từ SQL.
public void nhapdulieusql()
3
{
try {
ketnoi.KetNoi();
String sql="select * from nhanvien";
PreparedStatement cmd= ketnoi.cn.prepareStatement(sql);
ResultSet rs= cmd.executeQuery();
while(rs.next())
{
String
s=rs.getString(1)+";"+rs.getString(2)+";"+rs.getString(3)+";"+rs.getString(4)+";"+r
s.getString(5);
a.add(s);
}
rs.close();
ketnoi.cn.close();
}
catch(Exception e)
}
b. Hàm in dữ liệu bảng nhân viên ra màn hình.
public void hienthi()
{
DefaultTableModel mh=new DefaultTableModel();
mh.addColumn("Mã nhân viên");
mh.addColumn("Tên nhân viên");
mh.addColumn("Chứng minh thư");
mh.addColumn("Địa chỉ");
mh.addColumn("Số điện thoại");
4
for(int i=0;i
{
String[] s=a.get(i).split("[;]");
Object[] t=new Object[5];
t=s;
mh.addRow(t);
}
table.setModel(mh);
}
c. Hàm lưu thông tin một nhân viên mới vào dữ liệu SQL.
public void luu(String st)
{
try {
ketnoi.KetNoi();
String sql="insert into nhanvien values(?,?,?,?,?)";
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
String[] s=st.split("[;]");
cmp.setString(1, s[0]);
cmp.setString(2, s[1]);
cmp.setString(3, s[2]);
cmp.setString(4, s[3]);
cmp.setString(5, s[4]);
cmp.executeUpdate();
cmp.close();
}
catch (Exception ex)
{
ex.getStackTrace();
}
}
5
d.
Hàm xóa thơng tin một nhân viên trong dữ liệu SQL.
public void xoa(String st)
{
try {
ketnoi.KetNoi();
String sql="Delete From nhanvien Where manv=?";
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
cmp.setString(1, st);
cmp.executeUpdate();
}
catch (Exception ex)
{
ex.getStackTrace();
}
}
e.
Hàm sửa thông tin một nhân viên trong dữ liệu SQL.
Public void capnhat(String st)
{
try {
ketnoi.KetNoi();
String sql=”Update nhanvien set tennv=?, CMND=?, diachi=?,
SDT=? Where manv=?”;
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
String[] s=st.split(“[;]”);
cmp.setString(1,s[1]);
cmp.setString(2,s[2]);
cmp.setString(3,s[3]);
cmp.setString(4,s[4]);
cmp.setString(5,s[0]);
6
cmp.executeUpdate();
}
catch (Exception ex)
{
ex.getStackTrace();
}
}
f.
Hàm kiểm tra mã nhân viên mỗi khi thêm một nhân viên.
Public int ktmanv(String stt)
{
for (int i=0;i
{
String[] st1=a.get(i).split(“[;]”);
if ( stt.equalsIgnoreCase(st1[0])==true)
return 0;
}
return 1;
}
3. Toàn bộ code chức năng quản lý nhân viên.
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
7
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.TextField;
import javax.swing.UIManager;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTable;
import java.awt.Font;
public class nhanvien extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_5;
private JTextField textField_6;
private JTable table;
/**
* Launch the application.
*/
public static void main(String[] args) {
8
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
nhanvien frame = new nhanvien();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ArrayList<String> a=new ArrayList<String>();
public ArrayList<String> b=new ArrayList<String>();
public int d=-1;
public void nhapdulieusql()
{
try {
ketnoi.KetNoi();
String sql="select * from nhanvien";
PreparedStatement cmd= ketnoi.cn.prepareStatement(sql);
ResultSet rs= cmd.executeQuery();
while(rs.next())
{
String
s=rs.getString(1)+";"+rs.getString(2)+";"+rs.getString(3)+";"+rs.getString(4)+";"+rs.getSt
ring(5);
a.add(s);
}
rs.close();
ketnoi.cn.close();
}
catch(Exception e)
{
}
}
9
public void hienthi()
{
DefaultTableModel mh=new DefaultTableModel();
mh.addColumn("Mã nhân viên");
mh.addColumn("Tên nhân viên");
mh.addColumn("Chứng minh thư");
mh.addColumn("Địa chỉ");
mh.addColumn("Số điện thoại");
for(int i=0;i
{
String[] s=a.get(i).split("[;]");
Object[] t=new Object[5];
t=s;
mh.addRow(t);
}
table.setModel(mh);
}
public void luu(String st)
{
try {
ketnoi.KetNoi();
String sql="insert into nhanvien values(?,?,?,?,?)";
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
String[] s=st.split("[;]");
cmp.setString(1, s[0]);
cmp.setString(2, s[1]);
cmp.setString(3, s[2]);
cmp.setString(4, s[3]);
cmp.setString(5, s[4]);
cmp.executeUpdate();
cmp.close();
}
catch (Exception ex)
{
ex.getStackTrace();
}
}
public void xoa(String st)
{
try {
10
ketnoi.KetNoi();
String sql="Delete From nhanvien Where manv=?";
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
cmp.setString(1, st);
cmp.executeUpdate();
}
catch (Exception ex)
{
ex.getStackTrace();
}
}
public void capnhat(String st)
{
try {
ketnoi.KetNoi();
String sql="Update nhanvien set tennv=?, CMND=?, diachi=?, SDT=?
Where manv=?";
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
String[] s=st.split("[;]");
cmp.setString(1,s[1]);
cmp.setString(2,s[2]);
cmp.setString(3,s[3]);
cmp.setString(4,s[4]);
cmp.setString(5,s[0]);
cmp.executeUpdate();
}
catch (Exception ex)
{
ex.getStackTrace();
}
}
public int ktmanv(String stt)
{
for (int i=0;i
{
String[] st1=a.get(i).split("[;]");
if ( stt.equalsIgnoreCase(st1[0])==true)
return 0;
}
return 1;
}
11
public void setdata(int n)
{
String[] ss=a.get(n).split("[;]");
textField_2.setText(ss[0]);
if (ss[1]!=null)
textField_3.setText(ss[1]);
if (ss[2]!=null)
textField_4.setText(ss[2]);
if (ss[3]!=null)
textField_5.setText(ss[3]);
if (ss[4]!=null)
textField_6.setText(ss[4]);
}
public nhanvien() {
setForeground(Color.RED);
setTitle("Phần mềm quản lý thú cưng");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 801, 687);
contentPane = new JPanel();
contentPane.setBackground(SystemColor.controlLtHighlight);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JMenuBar menuBar = new JMenuBar();
menuBar.setBackground(Color.WHITE);
menuBar.setBounds(0, 0, 542, 25);
contentPane.add(menuBar);
JMenu mnNewMenu = new JMenu("H\u1EC7 th\u1ED1ng");
mnNewMenu.setFont(new Font("Segoe UI", Font.PLAIN, 15));
mnNewMenu.setEnabled(false);
mnNewMenu.setForeground(new Color(0, 0, 0));
mnNewMenu.setBackground(Color.WHITE);
menuBar.add(mnNewMenu);
JMenu mnNewMenu_1 = new JMenu("Ch\u1EE9c n\u0103ng");
mnNewMenu_1.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
kygui hd=new kygui();
hd.setVisible(true);
}
});
12
mnNewMenu_1.setEnabled(false);
mnNewMenu_1.setFont(new Font("Segoe UI", Font.PLAIN, 15));
mnNewMenu_1.setBackground(Color.WHITE);
mnNewMenu_1.setForeground(new Color(0, 0, 0));
menuBar.add(mnNewMenu_1);
JMenu mnNewMenu_3 = new JMenu("H\u00E0ng h\u00F3a");
mnNewMenu_3.setEnabled(false);
mnNewMenu_3.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
xemkho xk= new xemkho();
xk.setVisible(true);
}
});
JMenu mnNewMenu_2 = new JMenu("Nh\u00E2n s\u1EF1");
menuBar.add(mnNewMenu_2);
mnNewMenu_2.setFont(new Font("Segoe UI", Font.BOLD, 15));
mnNewMenu_2.setBackground(Color.WHITE);
mnNewMenu_2.setForeground(new Color(0, 0, 0));
mnNewMenu_3.setFont(new Font("Segoe UI", Font.PLAIN, 15));
mnNewMenu_3.setForeground(new Color(0, 0, 0));
menuBar.add(mnNewMenu_3);
JMenu mnNewMenu_4 = new JMenu("Kh\u00E1ch h\u00E0ng");
mnNewMenu_4.setFont(new Font("Segoe UI", Font.PLAIN, 15));
mnNewMenu_4.setEnabled(false);
mnNewMenu_4.setForeground(new Color(0, 0, 0));
menuBar.add(mnNewMenu_4);
JMenu mnNewMenu_5 = new JMenu("B\u00E1o c\u00E1o");
mnNewMenu_5.setFont(new Font("Segoe UI", Font.PLAIN, 15));
mnNewMenu_5.setEnabled(false);
mnNewMenu_5.setForeground(new Color(0, 0, 0));
menuBar.add(mnNewMenu_5);
JMenu mnNewMenu_6 = new JMenu("Gi\u00FAp \u0111\u1EE1");
mnNewMenu_6.setFont(new Font("Segoe UI", Font.PLAIN, 15));
mnNewMenu_6.setEnabled(false);
mnNewMenu_6.setForeground(new Color(0, 0, 0));
menuBar.add(mnNewMenu_6);
JLabel lblNewLabel = new JLabel("Mã nhân viên");
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel.setBounds(29, 158, 87, 16);
13
contentPane.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("Họ tên");
lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_1.setBounds(33, 202, 56, 16);
contentPane.add(lblNewLabel_1);
textField_2 = new JTextField();
textField_2.setBounds(126, 152, 104, 22);
contentPane.add(textField_2);
textField_2.setColumns(10);
textField_3 = new JTextField();
textField_3.setBounds(126, 202, 104, 22);
contentPane.add(textField_3);
textField_3.setColumns(10);
JLabel lblNewLabel_2 = new JLabel("Địa chỉ");
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 15));
lblNewLabel_2.setBounds(261, 158, 68, 16);
contentPane.add(lblNewLabel_2);
JLabel lblNewLabel_3 = new JLabel("Chứng minh");
lblNewLabel_3.setFont(new Font("Tahoma", Font.PLAIN, 15));
lblNewLabel_3.setBounds(254, 202, 87, 16);
contentPane.add(lblNewLabel_3);
JLabel lblNewLabel_4 = new JLabel("SĐT");
lblNewLabel_4.setFont(new Font("Tahoma", Font.PLAIN, 15));
lblNewLabel_4.setBounds(494, 202, 56, 16);
contentPane.add(lblNewLabel_4);
textField_4 = new JTextField();
textField_4.setBounds(351, 152, 104, 22);
contentPane.add(textField_4);
textField_4.setColumns(10);
textField_5 = new JTextField();
textField_5.setBounds(351, 202, 104, 22);
contentPane.add(textField_5);
textField_5.setColumns(10);
textField_6 = new JTextField();
textField_6.setBounds(574, 202, 104, 22);
contentPane.add(textField_6);
textField_6.setColumns(10);
14
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
tabbedPane.setBounds(54, 308, 554, 249);
contentPane.add(tabbedPane);
JScrollPane scrollPane = new JScrollPane();
tabbedPane.addTab("", null, scrollPane, null);
table = new JTable();
table.setBackground(Color.CYAN);
scrollPane.setViewportView(table);
nhapdulieusql();
hienthi();
JButton btnNewButton_4 = new JButton("Lưu");
btnNewButton_4.setBackground(Color.WHITE);
btnNewButton_4.setFont(new Font("Tahoma", Font.BOLD, 15));
btnNewButton_4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String s1=textField_2.getText();
String s2=textField_3.getText();
String s3=textField_4.getText();
String s4=textField_5.getText();
String s5=textField_6.getText();
String st=s1+";"+s2+";"+s3+";"+s4+";"+s5;
if (d==-1)
{
if (s1.equalsIgnoreCase("")==true)
JOptionPane.showMessageDialog(btnNewButton_4, "Nhập mã nhân viên");
else if ((ktmanv(s1)==0))
JOptionPane.showMessageDialog(btnNewButton_4, "Mã nhân viên đã tồn tại. Yêu
cầu nhập lại");
else { luu(st); a.add(st); hienthi();}
}
else
{
String[] s=a.get(d).split("[;]");
capnhat(st);
15
for(int j=a.size()-1;j>=0;j--)
{
if (j==d) b.add(st);
else b.add(a.get(j));
a.remove(j);
}
for(int j=b.size()-1;j>=0;j--)
{ a.add(b.get(j)); b.remove(j); }
hienthi();
d=-1;
}
textField_2.setText(""); textField_3.setText("");
textField_4.setText(""); textField_5.setText("");
textField_6.setText("");
}
});
btnNewButton_4.setBounds(126, 273, 68, 25);
contentPane.add(btnNewButton_4);
JButton btnNewButton_5 = new JButton("Sửa");
btnNewButton_5.setBackground(Color.WHITE);
btnNewButton_5.setFont(new Font("Tahoma", Font.BOLD, 15));
btnNewButton_5.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int n=table.getSelectedRow();
setdata(n);
d=n;
}
});
btnNewButton_5.setBounds(447, 273, 68, 25);
contentPane.add(btnNewButton_5);
JButton btnNewButton_6 = new JButton("Xóa");
btnNewButton_6.setBackground(Color.WHITE);
btnNewButton_6.setFont(new Font("Tahoma", Font.BOLD, 15));
btnNewButton_6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int n=table.getSelectedRow();
String[] ss=a.get(n).split("[;]");
a.remove(n);
16
hienthi();
xoa(ss[0]);
}
});
btnNewButton_6.setBounds(280, 273, 68, 25);
contentPane.add(btnNewButton_6);
JButton btnNewButton_7 = new JButton("Đăng xuất");
btnNewButton_7.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
dangnhap dn= new dangnhap();
dn.setVisible(true);
}
});
btnNewButton_7.setFont(new Font("Tahoma", Font.BOLD, 15));
btnNewButton_7.setBounds(248, 580, 119, 23);
contentPane.add(btnNewButton_7);
JLabel anh1 = new JLabel("");
anh1.setBounds(21, 30, 52, 40);
contentPane.add(anh1);
ImageIcon icon= new ImageIcon("d:/java/1.png");
anh1.setIcon(icon);
JLabel anh2 = new JLabel("");
anh2.setBounds(157, 26, 54, 40);
contentPane.add(anh2);
ImageIcon icon1= new ImageIcon("d:/java/2.png");
anh2.setIcon(icon1);
JLabel anh3 = new JLabel("");
anh3.setBounds(303, 30, 45, 40);
contentPane.add(anh3);
ImageIcon icon2= new ImageIcon("d:/java/3.png");
anh3.setIcon(icon2);
JLabel anh4 = new JLabel("");
anh4.setBounds(430, 30, 52, 40);
contentPane.add(anh4);
ImageIcon icon3= new ImageIcon("d:/java/4.png");
anh4.setIcon(icon3);
JLabel lblNewLabel_5 = new JLabel("Nhân Viên");
lblNewLabel_5.setForeground(Color.CYAN);
17
lblNewLabel_5.setFont(new Font("Tahoma", Font.BOLD, 15));
lblNewLabel_5.setBounds(10, 80, 87, 19);
contentPane.add(lblNewLabel_5);
JLabel lblNewLabel_5_1 = new JLabel("Chấm công");
lblNewLabel_5_1.setFont(new Font("Tahoma", Font.BOLD, 15));
lblNewLabel_5_1.setBounds(134, 83, 96, 19);
contentPane.add(lblNewLabel_5_1);
JLabel lblNewLabel_5_1_1 = new JLabel("Quy định");
lblNewLabel_5_1_1.setFont(new Font("Tahoma", Font.BOLD, 15));
lblNewLabel_5_1_1.setBounds(290, 83, 77, 19);
contentPane.add(lblNewLabel_5_1_1);
JLabel lblNewLabel_5_1_2 = new JLabel("Chính sách");
lblNewLabel_5_1_2.setFont(new Font("Tahoma", Font.BOLD, 15));
lblNewLabel_5_1_2.setBounds(414, 80, 87, 19);
contentPane.add(lblNewLabel_5_1_2);
JButton btnNewButton = new JButton("");
btnNewButton.setBackground(Color.BLACK);
btnNewButton.setBounds(29, 144, 423, 4);
contentPane.add(btnNewButton);
JButton btnNewButton_1 = new JButton("New button");
btnNewButton_1.setBackground(Color.BLACK);
btnNewButton_1.setBounds(16, 158, 3, 99);
contentPane.add(btnNewButton_1);
}
private static void addPopup(Component component, final JPopupMenu popup) {
component.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger()) {
showMenu(e);
}
}
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
showMenu(e);
}
}
private void showMenu(MouseEvent e) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
18
});
}
}
II.
Chức năng quản lý chuồng và thông tin ký gửi
1. Giao diện màn hình chức năng quản lý chuồng và thông tin ký gửi.
2. Một số hàm cơ bản của chức năng.
a. Hàm nhập dữ liệu thông tin ký gửi từ SQL.
Public void nhapdulieusql()
{
try {
ketnoi.KetNoi();
String sql=”select * from thongtinkygui”;
PreparedStatement cmd= ketnoi.cn.prepareStatement(sql);
19
ResultSet rs= cmd.executeQuery();
while(rs.next())
{
String
s=rs.getString(1)+”;”+rs.getString(2)+”;”+rs.getString(3)+”;”+rs.getString(4)+”;”+r
s.getString(5)+”;”+rs.getString(6)+”;”+rs.getString(7)+”;”+rs.getString(8)+”;”+rs.g
etString(9)+”;”+rs.getString(10)+”;”+rs.getString(11)+”;”+rs.getString(12);
a.add(s);
}
rs.close();
ketnoi.cn.close();
}
catch(Exception e)
{
}
}
b. Hàm lưu thông tin ký gửi khi đăng ký ký gửi pes mới trong dữ liệu SQL.
public void luu(String st)
{
try {
ketnoi.KetNoi();
String sql="insert into thongtinkygui
values(?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
String[] s=st.split("[;]");
cmp.setString(1, s[0]);
cmp.setString(2, s[1]);
cmp.setString(3, s[2]);
cmp.setString(4, s[3]);
20
cmp.setString(5, s[4]);
cmp.setString(6, s[5]);
cmp.setString(7, s[6]);
cmp.setString(8, s[7]);
cmp.setString(9, s[8]);
cmp.setString(10, s[9]);
cmp.setString(11, s[10]);
cmp.setString(12, s[11]);
cmp.executeUpdate();
cmp.close();
}
catch (Exception ex)
{
ex.getStackTrace();
}
}
c. Hàm xóa thơng tin ký gửi của một chuồng trong dữ liệu SQL.
public void xoa(String st)
{
try {
ketnoi.KetNoi();
PreparedStatement cmp=ketnoi.cn.prepareStatement("Delete
From thongtinkygui Where makygui=?");
cmp.setString(1, st);
cmp.executeUpdate();
}
catch (Exception ex)
{
21
ex.getStackTrace();
}
}
d. Hàm cập nhật lại thông tin của một chuồng trong dữ liệu SQL.
public void capnhat(String st,String t)
{
try {
ketnoi.KetNoi();
String sql="Update thongtinkygui set
tenchu=?,lienhe=?,cmnd=?,tenpes=?,soluong=?,ngaygui=?,ngaytra=?,giacombo=?,
manhanvien=?,tenchuong=?,giayto=? Where makygui=?";
PreparedStatement cmp=ketnoi.cn.prepareStatement(sql);
String[] s=st.split("[;]");
cmp.setString(1, s[1]);
cmp.setString(2, s[2]);
cmp.setString(3, s[3]);
cmp.setString(4, s[4]);
cmp.setString(5, s[5]);
cmp.setString(6, s[6]);
cmp.setString(7, s[7]);
cmp.setString(8, s[8]);
cmp.setString(9, s[9]);
cmp.setString(10, s[10]);
cmp.setString(11, s[11]);
cmp.setString(12, t);
cmp.executeUpdate();
cmp.close();
}
catch (Exception ex)
{
22
ex.getStackTrace();
}
}
e. Hàm kiểm tra ngày trả pes với thời gian hiện tại có hợp lý hay khơng.
public int kiemtrangay(String st)
{
try {
Date date =new Date();
SimpleDateFormat sim=new
SimpleDateFormat("dd/MM/yyyy");
long t = date.getTime();
dte=sim.format(date.getTime());
Date t1= sim.parse(st);
long t2=t1.getTime();
if (t>t2) return 0;
else return 1;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
3. Toàn bộ code chức năng quản lý chuồng và thông tin ký gửi.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
23
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JMenuBar;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.SystemColor;
import java.awt.FlowLayout;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.border.MatteBorder;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.JComboBox;
import javax.swing.JEditorPane;
import javax.swing.JTextPane;
import java.awt.Panel;
import javax.swing.ComboBoxEditor;
import javax.swing.DefaultComboBoxModel;
import javax.swing.event.AncestorListener;
import javax.swing.event.AncestorEvent;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class kygui extends JFrame {
private JPanel contentPane;
private JTextField txtHThngK;
private JTextField txtChungangS;
/**
* Launch the application.
24
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
kygui frame = new kygui();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ArrayList<String> a=new ArrayList<String>();
public int b[]=new int[16];
public int c[]=new int[16];
public int p=0,pp=0;
public String dte;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JTextField textField_6;
private JTextField textField_7;
private JTextField textField_8;
private JTextField textField_9;
private JTextField textField_11;
public void nhapdulieusql()
{
try {
ketnoi.KetNoi();
String sql="select * from thongtinkygui";
PreparedStatement cmd= ketnoi.cn.prepareStatement(sql);
ResultSet rs= cmd.executeQuery();
while(rs.next())
{
String
s=rs.getString(1)+";"+rs.getString(2)+";"+rs.getString(3)+";"+rs.getString(4)+";"+rs.getSt
25