📄 appealoperate.java
字号:
package file1;
/*
* 功能描述:实现对客户投诉的增删改查处理
* @Author:黄顺武
* Create Time:2007-12-8
* Last Modified:2007-12-15
* Modify Reason:数据库连接类DBConnection 的内部结构设计得到优化
*/
import java.sql.SQLException;
import java.util.*;
import javax.swing.JOptionPane;
import sun.jdbc.rowset.*;
public class AppealOperate implements Operate {
public AppealOperate() {
}
public void insertToDB(Object object) {// 增加客户投诉记录时调用的方法
try {
DBConnection con = new DBConnection();
Appeal appeal = (Appeal) object;
StringBuffer sqlSB = new StringBuffer("");
if (appeal.getID() == -1) {
sqlSB.append("insert into Appeal values(");
sqlSB.append(appeal.getApplerID()).append(",'").append(
appeal.getAppealContent()).append("',");
sqlSB.append(appeal.getAppealToID()).append(",'").append(
appeal.getAppealToState()).append("','");
sqlSB.append(appeal.getAppealTime()).append("','").append(
appeal.getProcessTime()).append("')");
}
con.addSql(sqlSB.toString());
con.doDML();
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
public void deleteFromDB(Object object) {// 删除客户投诉记录时调用的方法
Appeal appeal = (Appeal) object;
StringBuffer sqlSB = new StringBuffer("");
if (appeal.getID() != -1) {
sqlSB.append("select* from Appeal where id=")
.append(appeal.getID());
}
if (!(sqlSB.toString().equals(""))) {
try {
DBConnection con = new DBConnection();
CachedRowSet crs = con.getResultSet(sqlSB.toString());
if (crs.next()) {
StringBuffer sql = new StringBuffer(
"delete from Appeal where id=");
sql.append(appeal.getID());
con.addSql(sql.toString());
con.doDML();
}
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
}
public void modifyToDB(Object object) {// 修改客户的投诉记录的方法
Appeal appeal = (Appeal) object;
StringBuffer sqlsb = new StringBuffer("");
if (appeal.getID() != -1) {
try {
DBConnection con = new DBConnection();
sqlsb.append("update Appeal set ");
if (appeal.getApplerID() != -1) {// 如果投诉者的id修改则反映到sql中,以下一系列if
// 语句完成的功能类似
sqlsb.append("appealerID=").append(appeal.getApplerID())
.append(",");
}
if (appeal.getAppealContent() != null) {
sqlsb.append("appealContent='").append(
appeal.getAppealContent()).append("',");
}
if (appeal.getAppealToID() != -1) {
sqlsb.append("appealToID=").append(appeal.getAppealToID())
.append(",");
}
if (appeal.getAppealToState() != null
&& !appeal.getAppealToState().trim().equals("")) {
sqlsb.append("appealToState='").append(
appeal.getAppealToState()).append("',");
}
if (appeal.getAppealTime() != null) {
sqlsb.append("appealTime='").append(appeal.getAppealTime())
.append("',");
}
if (appeal.getProcessTime() != null) {
sqlsb.append("processTime='").append(
appeal.getProcessTime()).append("'");
}
String sql = sqlsb.toString();
if (sql.lastIndexOf(",") == (sql.length() - 1)) {
sql = sql.substring(0, sql.length() - 1);
}
if (!sql.equals("update Appeal set ")) {// 表明有要更新的字段,执行更新操作
StringBuffer sqlSB = new StringBuffer(sql);
sqlSB.append(" where id=").append(appeal.getID());
con.addSql(sqlSB.toString());
con.doDML();
}
} catch (SQLException sqle) {
sqle.printStackTrace();
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
}
}
public ArrayList selectFromDB(Object object) {// 查询客户投诉记录时调用的方法
Appeal appeal = (Appeal) object;
ArrayList valuesList = new ArrayList();
StringBuffer sqlsb = new StringBuffer("");
CachedRowSet crs = null;
if (appeal.getID() == -1) {
JOptionPane.showMessageDialog(null, "要查询的申诉记录id不能为空!", "",
JOptionPane.INFORMATION_MESSAGE);
return null;
}
if (appeal.getID() == 0) {// 表示查询数据库中的全部客户投诉记录,传参数的时候一定要注意
sqlsb.append("select* from Appeal");
}
if (appeal.getID() != -1 && appeal.getID() != 0) {// 表示查询数据库中的某一客户投诉记录,传参数的时候一定要注意
sqlsb.append("select* from Appeal where id=" + appeal.getID());
}
try {
DBConnection con = new DBConnection();
crs = con.getResultSet(sqlsb.toString());
while (crs.next()) {
Appeal newAppealInstance = new Appeal();
newAppealInstance.setID(crs.getInt(1));
newAppealInstance.setApplerID(crs.getInt(2));
newAppealInstance.setAppealContent(crs.getString(3).trim());
newAppealInstance.setAppealToID(crs.getInt(4));
newAppealInstance.setAppealToState(crs.getString(5).trim());
newAppealInstance.setAppealTime(crs.getString(6).trim());
newAppealInstance.setProcessTime(crs.getString(7).trim());
valuesList.add(newAppealInstance);
}
} catch (SQLException sqle) {
sqle.printStackTrace();
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}
return valuesList;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -