guoyuji
2023-11-30 a136a7f99674969283287ba38aa9bd6199750dd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
                 <%
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=utf-8");
response.setHeader("Access-Control-Allow-Origin","*");
%>
<%@include file="mysql_connect.jsp"%>
<%@page import="java.util.LinkedHashMap"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.LinkedList"%>
<%@page import="com.alibaba.fastjson.JSON,com.alibaba.fastjson.JSONObject,com.alibaba.fastjson.JSONArray,com.alibaba.fastjson.parser.Feature"%>
<%@ page import="java.text.SimpleDateFormat,java.util.Date" %> 
 
<%
String gongneng = request.getParameter("gongneng");
String yemian = request.getParameter("yemian");
String sltcSql =request.getParameter("sql"); 
String anquanma=request.getParameter("anquanma");
try{
    Class.forName(driverClass);{
    /* Connection conAnquan=DriverManager.getConnection( urlglass,user,password);
     Statement stmts=conAnquan.createStatement();
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
     Date time = new Date();
     long timestamp = time.getTime() / 1000L;
     String anquan="select * from anquanbiao where anquanma = '"+anquanma+"' and cip='"+request.getLocalAddr()+"' and now()<=xiugaitime and now()>=jianlitime; ";
     ResultSet rss = stmts.executeQuery(anquan);
     int coun=0;
     while(rss.next())
     {
      coun++;
     }
     rss.close();
     stmts.close();
     conAnquan.close(); */
    //coun>0    
    if(true){
    Connection con=DriverManager.getConnection( url,user,password);
     
    //通过connection数据库链接对象 创建一个statement对象数据库操作对象
    String flag="";
    flag=request.getParameter("flag");
    if(!flag.equals("0")){
         String[] sql=sltcSql.split("~");
         CallableStatement cs = con.prepareCall(sql[0]);
         if(sql.length>1){
            HashMap<String ,String> hp =  JSON.parseObject(sql[1], LinkedHashMap.class,Feature.OrderedField);
            int indexNum=1;
            for(String key : hp.keySet()) {
                cs.setString(indexNum, String.valueOf(hp.get(key)));
                //out.print("cs.setString("+indexNum+", "+String.valueOf(hp.get(key))+")");
                indexNum++;
                     }
            cs.registerOutParameter( indexNum , java.sql.Types.LONGNVARCHAR); 
         }
        
        
          if(flag.equals("2")){
              ResultSet rs = cs.executeQuery();
              ResultSetMetaData rsmd = rs.getMetaData(); 
              String[] arr;
              LinkedList<String> results = new LinkedList<String>();
              
              while(rs.next()){
                  LinkedHashMap<String, String> result = new LinkedHashMap<String, String>();
                  for(int i=0;i<rsmd.getColumnCount();i++){
                    // out.println(rsmd.getColumnName(i+1));String.valueOf(i)
                      String val=rs.getString(i+1)!=null?String.valueOf(rs.getString(i+1)):"";
                       result.put(String.valueOf(i+"_"+rsmd.getColumnName(i+1)),val);
                    }
                  String jsonStr = JSON.toJSONString(result);
                  results.add(jsonStr);
              }
              if(results.size()<1){
                  results.add("{}");
              }
              out.print(results);
              
          }else{
              cs.execute();
              String fanhui=(String) cs.getString("fanhui");
             // out.print("[["+cs.getString("fanhui").length()+","+cs.getString("fanhui")+"]]");
              if(cs.getString("fanhui")!=null){
                  if(fanhui.length()>0 && !fanhui.equals("null")){
                      out.print("[["+cs.getString("fanhui")+"]]");  
                  }
              } 
              
          } 
          
        cs.close();      
    }else{
        Statement stmtss=con.createStatement();
        
        //stmtss.execute(sltcSql);
        //stmtss.close();
    }
    
            con.close();
    }else{
        out.print("[[anquanmaerr]]"); 
    }    
}    
}catch(Exception e){
      Class.forName(driverClass);{
       Connection con=DriverManager.getConnection(url,user,password);
     CallableStatement bs =con.prepareCall("{call AXJ_err(?,?,?)}");
     bs.setString(1, e.toString());
     bs.setString(2, gongneng);
     bs.setString(3, sltcSql);
     bs.execute();
     bs.close();
     con.close();
    }
    out.print("[['发生未知错误,请联系相关人员']]");
}  
%>