javainthinking

          XL的個性空間和java學習之旅

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            13 隨筆 :: 13 文章 :: 20 評論 :: 1 Trackbacks

          package park.jsp.reportfill;

          import javax.servlet.http.HttpServletRequest;
          import java.sql.ResultSet;
          import java.sql.Statement;
          import java.sql.Connection;
          import java.sql.SQLException;
          import park.jsp.main.ConnectDB;
          import park.jsp.common.TableNewId;
          import javax.servlet.http.HttpSession;
          import java.util.Date;
          import park.jsp.common.DateHandle;

          /**
           * <p>Title: </p>
           * <p>Description:修改和存儲登記卡相關信息 </p>
           * <p>Copyright: Copyright (c) 2005</p>
           * <p>Company: </p>
           * @author 熊煉
           * @version 1.0
           */

          public class Register_Refer
          {
              /**
               * 此程序需要在scope中額外獲取的參數有:type(對象類型)、message(操作類型)、f_emp_name(用戶名)
               * 特別:1.操作類型為modify,需要舊的t_bas_*表中所有可更改參數   2.對象類型為動植物,則需要f_k,f_s,f_classno,f_py
               * @param request
               * @return String(操作信息字段)
               */
              public static String main(HttpServletRequest request,HttpSession session)
              {
                  Connection conn = null;
                  Statement stmt = null;
                  ResultSet rs = null;
                  try
                  {
                      //連接數據庫
                      conn=ConnectDB.connect();
                      stmt=conn.createStatement();

          //            String f_name, f_k_classname,f_s_classname,f_s_ldm,f_j_classname,f_xx,f_cd,f_layer,
          //            f_ldm,f_bhc,f_fzcs,f_szxz ,f_ms,f_yt,f_area,f_yy,v_message,v_type,v_tablename;
                      String f_name, f_k,f_s,f_classno,f_xx,f_cd,f_layer,f_py,
                      f_ldm,f_bhc,f_fzcs,f_szxz ,f_ms,f_yt,f_area,f_yy,v_message,v_type,v_tablename;
                      v_message = request.getParameter("message"); //判斷消息字段,modify修改,create創建,delete刪除
                      v_type=(String)request.getAttribute("type");//判斷類型(plant植物,animal是動物...)

                      //植物不同字段
                      f_ms=request.getParameter("t_ms");
                      f_yt=request.getParameter("t_yt");
                      f_area=request.getParameter("t_area");
                      f_yy=request.getParameter("t_yy");

                      //執行數據庫操作
                      String rrSql="";
                      int v_flag=0;//v_flag為數據操作是否成功的標志,1為成功,0為失敗
                      StringBuffer sb=null;
                      //判斷對象類型
                      if("animal".equals(v_type))
                      {
                        //獲取t_bas_animal表中的所有字段(除f_id)
                        //獲得不能更改的字段
                        f_name=request.getParameter("t_name");
                        f_k=(String)request.getAttribute("f_k");
                        f_s=(String)request.getAttribute("f_s");
                        f_classno=(String) request.getAttribute("f_j");
                        f_py=(String)request.getAttribute("f_py");
                        f_ldm = request.getParameter("t_ldm");
                        f_xx = request.getParameter("t_xx");
                        f_cd = request.getParameter("t_cd");
                        f_layer = request.getParameter("t_layer");

                        //從form中獲取可以更改的字段,為字段新內容
                        f_bhc = request.getParameter("t_bch");
                        f_fzcs = request.getParameter("t_fzcs");
                        f_szxz = request.getParameter("t_szxz");
                        float animal_f_id=0;

                        //判斷操作類型
                        if("create".equals(v_message))
                        {
                          //獲取t_rpt_modify報表操作表中的相關字段
                          String f_rpt_no,f_rpt_pid,f_emp_name,f_type,f_new_value,f_ref_date;
                          //獲取表中f_pid字段
                          float rpt_f_id=0;
                          try
                          {
                              rpt_f_id = TableNewId.getTableNewId(stmt,1,"t_rpt_modi",
                                      "f_pid");
                              if(rpt_f_id==0)
                              {
                                 return "<script language=javascript>window.alert('系統錯誤,創建失敗!');window.close();</script>";
                              }
                          }
                          catch(SQLException ex)
                          {
                              ex.printStackTrace();
                          }
                          //其余相關字段
                          f_emp_name=(String) session.getAttribute("f_emp_name");
                          f_type="0";
                          //以逗號分割連接所有屬性值
                          f_new_value=sb.append(f_name+","+f_k+","+f_s+","+f_classno+","+f_xx+","+f_cd+","+f_layer+","+f_py+","+f_ldm+","+f_bhc+","+f_fzcs+","+f_szxz).toString();
                          f_ref_date=new DateHandle().getDate();
                          //*************************************還有一些字段未獲取***************
                          rrSql="";//插入t_rpt_modi表中的sql語句
                          v_flag=stmt.executeUpdate(rrSql);
                        }
                        else if("modify".equals(v_message))
                        {
                          //獲取t_bas_animal中的f_id
                          animal_f_id=Integer.parseInt((String)request.getAttribute("animal_f_id"));
                          //獲取t_rpt_modify報表操作表中的相關字段
                          String f_rpt_no,f_rpt_pid,f_emp_name,f_type,f_old_value,f_new_value,f_ref_date,f_old_bhc,f_old_fzcs,f_old_szxz;
                          float rpt_f_id=0;
                          try
                          {
                            rpt_f_id = park.jsp.common.TableNewId.getTableNewId(stmt, 1, "t_rpt_modi",
                                                                "f_pid");
                            if (rpt_f_id == 0) {
                              return "<script language=javascript>window.alert('系統錯誤,創建失敗!');window.close();</script>";
                            }
                          }
                          catch (SQLException ex) {
                            ex.printStackTrace();
                          }
                          f_emp_name=(String) session.getAttribute("f_emp_name");
                          f_type="1";
                          //以逗號分割連接所有屬性值
                          f_new_value=sb.append(animal_f_id+","+f_name+","+f_k+","+f_s+","+f_classno+","+f_xx+","+f_cd+","+f_layer+","+f_py+","+f_ldm+","+f_bhc+","+f_fzcs+","+f_szxz).toString();
                          f_ref_date=new DateHandle().getDate();
                          //獲取舊動物對應的t_bas_animal表中對應的所有值,并以逗號分割連接,作為f_old_value字段
                          f_old_bhc=(String) request.getAttribute("f_bhc");
                          f_old_fzcs=(String)request.getAttribute("f_fzcs");
                          f_old_szxz=(String) request.getAttribute("f_szxz");
                          f_old_value=sb.append(animal_f_id+","+f_name+","+f_k+","+f_s+","+f_classno+","+f_xx+","+f_cd+","+f_layer+","+f_py+","+f_ldm+","+f_old_bhc+","+f_old_fzcs+","+f_old_szxz).toString();
                          //*************************************還有一些字段未獲取***************
                          rrSql = ""; //插入t_rpt_modi表中的sql語句
                          v_flag = stmt.executeUpdate(rrSql);
                        }
                      }
                      else if("plant".equals(v_type))
                      {

                      }

                      v_flag=stmt.executeUpdate(rrSql);
                       conn.commit();
                       if(v_flag==1)
                       {
                           return "<script language=javascript>window.alert('保存操作成功!');window.close();</script>";
                       }
                       else
                       {
                           return
                                   "<script language=javascript>window.alert('保存操作改失敗!');window.close();</script>";
                       }
                   }
                   catch(SQLException ex)
                   {
                       try
                       {
                           conn.rollback();
                       }
                       catch(SQLException ex1)
                       {}
                        return "<script language=javascript>window.alert('系統錯誤,不能修改!');</script>";
                   }
                   finally
                   {
                       try
                       {
                           if(rs != null)
                           {
                               rs.close();
                               rs = null;
                           }
                       }
                       catch(Exception ignore)
                       {}
                       try
                       {
                           if(stmt != null)
                           {
                               stmt.close();
                               stmt = null;
                           }
                       }
                       catch(Exception ignore)
                       {}
                       try
                       {
                           if(conn != null)
                           {
                               conn.rollback();
                               conn.close();
                               conn = null;
                           }
                       }
                       catch(Exception ignore)
                       {}
                   }

                  }
              }

          posted on 2005-08-12 17:30 XL的個性空間和java學習之旅 閱讀(1476) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阳城县| 马公市| 麻栗坡县| 行唐县| 会东县| 凤山市| 阿鲁科尔沁旗| 宜昌市| 牟定县| 若尔盖县| 喜德县| 沐川县| 门头沟区| 砚山县| 洛扎县| 松滋市| 达拉特旗| 土默特右旗| 互助| 崇文区| 黄梅县| 隆化县| 红原县| 石景山区| 东至县| 奈曼旗| 绩溪县| 类乌齐县| 平山县| 茌平县| 三穗县| 庆城县| 行唐县| 阿坝| 中超| 双江| 仲巴县| 文昌市| 娄底市| 鱼台县| 玉山县|