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

📄 codingaction.java

📁 医院信息系统(Hospital Information System
💻 JAVA
字号:
package hospital.Controller.Actions.GeneralFunction;

import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;

public class CodingAction extends Action {

    private String codeType = "";		//表示编码的类型

    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;

        ArrayList listCodingRow = new ArrayList();	//用来存储该编码类型的所有编码的值
        String pageFindForward = "";
        try {
            Class.forName(driverName);
            dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            Statement stmt = dbConn.createStatement();

            //初始化页面的所有参数
            initPageParameters(form, request);

            //从数据库中编码的数据,并返回所指向的编码页面
            pageFindForward=createCodingRow(stmt, listCodingRow);

            stmt.close();
            dbConn.close();

        } catch (Exception ex) {
            ex.printStackTrace();
        }

        returnPageParameters(request, listCodingRow);

        return mapping.findForward(pageFindForward);
    }

    private void setPropertyToOrginate() {
        codeType = "";
    }

    private void initPageParameters(ActionForm form, HttpServletRequest request) {
        setPropertyToOrginate();
        codeType = request.getParameter("codetype");
    }

    private void returnPageParameters(HttpServletRequest request, ArrayList listCodingRow) {
        request.setAttribute("listCodingRow", listCodingRow);
    }

    private String createCodingRow(Statement stmt, ArrayList listCodingRow) throws SQLException{
        String pageFindForward = "";
        String sql = "select * from sys编码表1 where codeType='" + codeType + "'";
        System.out.println(sql);
        ResultSet rs = stmt.executeQuery(sql);
        boolean isEmpty = rs.next();
        //查询sys编码表1,如果有对应的编码类型,则将所有该编码的值添加到listCodingRow中
        if (isEmpty) {
            while (isEmpty) {
                listCodingRow.add(rs.getString("codeValue"));
                isEmpty = rs.next();
            }
            //转到页面coding
            pageFindForward = "coding";
        } else {
        	 //否则查询sys编码表2
            sql = "select * from sys编码表2 where codeType='" + codeType + "'";
            rs = stmt.executeQuery(sql);
            String tableName = "";
            String codeNameColumn = "";
            String codeValueColumn = "";
            //如果有对应的编码类型,则确定该编码对应的是哪张数据表的哪个关键字的列,以及编码翻译的列
            if (rs.next()) {
                tableName = rs.getString("tableName");
                codeNameColumn = rs.getString("codeName");
                codeValueColumn = rs.getString("codeValue");
            }
            sql = "select " + codeNameColumn + "," + codeValueColumn + " from " + tableName;
            rs = stmt.executeQuery(sql);
            //从该数据表中得到所有的编码编号和编码值
            while (rs.next()) {
                String[] contentRow = new String[2];
                contentRow[0] = rs.getString(1);
                contentRow[1] = rs.getString(2);
                listCodingRow.add(contentRow);
            }
            //转到页面coding2
            pageFindForward = "coding2";
        }
        rs.close();
        return pageFindForward;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -