📄 modifyaction.java
字号:
package hospital.Controller.Actions.GeneralFunction;
import org.apache.struts.action.*;
import hospital.Foundation.DataFixing;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
public class ModifyAction extends Action {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
private String baseTableName = "";
private String menuID = "";
private String keyNames = "";
private String keyValues = "";
private String newSaveStatus = "";
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hospital";
String userName = "sa";
String userPwd = "";
Connection dbConn;
Hashtable hashRowContent = new Hashtable(30);
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
Statement stmt = dbConn.createStatement();
initPageParameters(request);
//从数据库中查出完整数据,显示在页面上
createRowContent(stmt, hashRowContent);
stmt.close();
dbConn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
returnPageParameters(request, hashRowContent);
return mapping.findForward("showFormAction");
}
private void setPropertyToOrginate() {
baseTableName = "";
menuID = "";
keyNames = "";
keyValues = "";
newSaveStatus = "";
}
//初始化页面的所有参数
private void initPageParameters(HttpServletRequest request) throws Exception {
setPropertyToOrginate();
baseTableName = request.getParameter("baseTableName");
menuID = request.getParameter("menuID");
keyNames = request.getParameter("keyNames");
keyValues = request.getParameter("keyValues");
newSaveStatus = "";
}
//将参数和查询结果发往结果页面
private void returnPageParameters(HttpServletRequest request, Hashtable hashRowContent) {
request.setAttribute("menuID", menuID);
request.setAttribute("baseTableName", baseTableName);
request.setAttribute("hashRowContent", hashRowContent);
request.setAttribute("newSaveStatus", newSaveStatus);
}
//将查询到的一条数据转化成哈希表的形式
private void createRowContent(Statement stmt, Hashtable hashRowContent) {
String selectSQL = "select * from " + baseTableName + " where " + keyNames + "='" + keyValues + "'";
try {
ResultSet rs = stmt.executeQuery(selectSQL);
ResultSetMetaData rsmd = rs.getMetaData();
if (rs.next()) {
String columnName = "";
String columnValue = "";
for (int i = 0; i < rsmd.getColumnCount(); i++) {
columnName = rsmd.getColumnName(i + 1);
columnValue = DataFixing.trimNULL(rs.getString(columnName));
if (columnValue.endsWith(" 00:00:00.0")) {
columnValue = columnValue.substring(0, columnValue.indexOf(" 00:00:00.0"));
}
if (columnValue.startsWith("1900-01-01")) {
columnValue = "";
}
hashRowContent.put(columnName, columnValue);
}
}
newSaveStatus = "4";
} catch (SQLException ex) {
ex.printStackTrace();
newSaveStatus = "-4";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -