📄 appealrecordjpanel.java
字号:
package file1;
/*
* @Author:黄顺武
* Description:客户申诉记录的显示模版
* Create Time:2008-1-31
*/
import javax.swing.*;
import sun.jdbc.rowset.*;
import java.awt.*;
import java.sql.*;
public class AppealRecordJPanel extends JPanel {
private JTable recTable = new JTable();
private JScrollPane recScrollPane = null;
private String[] head = { "记录编号", "投诉客户编号", "投诉客户名称", "投诉内容", "被投诉者编号",
"被投诉者名称", "被投诉者性质", "投诉时间", "处理时间" };// 表格的标题
private String[][] data = null;// 表格的数据
private int headNum = 0;// 表格标题的列数
private DBConnection con = null;// 数据库联接操作类
private String[] ids = null;// 存储所有申诉记录的id
private int totalRecordCount = 0;// 存储所有记录总数的变量
public AppealRecordJPanel() {
con = new DBConnection();
headNum = head.length;
this.setLayout(new FlowLayout());
getRecords();// 调用从数据库中读取指定字段数据的方法
}
public int getRecords() {// 从数据库中读取指定的字段数据并显示到表格中
int totalRecord = 0;
String sqlStr = "select Appeal.ID,appealerID,cName,appealContent,appealToID,appealToState,appealTime,processTime from Appeal,Client where Appeal.appealerID=Client.ID";
try {
CachedRowSet crs = con.getResultSet(sqlStr);
while (crs.next()) {
totalRecord++;
}
data = new String[totalRecord][headNum];// 定义表格的数据
ids = new String[totalRecord];
crs.beforeFirst();
totalRecord = 0;
while (crs.next()) {
data[totalRecord][0] = String.valueOf(crs.getInt(1));
ids[totalRecord] = String.valueOf(crs.getInt(1));
data[totalRecord][1] = String.valueOf(crs.getInt(2));
data[totalRecord][2] = crs.getString(3).trim();
data[totalRecord][3] = crs.getString(4).trim();
data[totalRecord][4] = String.valueOf(crs.getInt(5));
data[totalRecord][5] = "";
data[totalRecord][6] = crs.getString(6).trim();
data[totalRecord][7] = crs.getString(7).trim();
data[totalRecord][8] = crs.getString(8).trim();
totalRecord++;
}
totalRecordCount = totalRecord;// 用以变量临时存储记录数
totalRecord = 0;// 重新从零开始查询数组
String sqlTemp = "";
for (; totalRecord < totalRecordCount; totalRecord++) {
if (data[totalRecord][6].equals("员工")) {// 被投诉对象为员工的话查询员工表
sqlTemp = "select name from Employee where ID="
+ data[totalRecord][4];
} else if (data[totalRecord][6].equals("部门")) {// 被投诉对象为部门的话查询部门表
sqlTemp = "select dpName from Department where ID="
+ data[totalRecord][4];
}
CachedRowSet crsTemp = con.getResultSet(sqlTemp);
if (crsTemp.next()) {
data[totalRecord][5] = crsTemp.getString(1).trim();// 把查得的被投诉对象的名称储存到数组中的相应位置
}
}
recTable = new JTable(data, head);
recTable.setRowHeight(20);
recScrollPane = new JScrollPane(recTable);
if (this.getComponentCount() != 0) {
this.removeAll();// 删除已有的组件
}
this.add(recScrollPane);
this.validate();// 使新的布局生效
} catch (ClassNotFoundException cnfe) {
JOptionPane.showMessageDialog(null, "发生ClassNotFound错误!", "",
JOptionPane.INFORMATION_MESSAGE);
return 0;
} catch (SQLException sqle) {
JOptionPane.showMessageDialog(null, "发生Sql错误!", "",
JOptionPane.INFORMATION_MESSAGE);
return 0;
}
return totalRecordCount;// 返回记录总数
}
public String[] getIDS() {// 取得存储所有申诉记录的id的数组
return ids;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -