⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 appealrecordjpanel.java

📁 JAVA实现的酒店管理系统
💻 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 + -