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

📄 officeserver.jsp

📁 jsp+oracle书记的源代码
💻 JSP
📖 第 1 页 / 共 3 页
字号:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.io.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="oracle.sql.BLOB" %>
<%@ page import="oracle.jdbc.*" %>
<%@ page import="oa.bean.iDBManager2000" %>
<%@ page import="oa.bean.iMsgServer2000" %>
<%!

 private byte[] mFileBody;
 private String mFileName;
 private String mFileType;
 private String mFileDate;
 private String mFileID;
 private int mFileSize;
 private int mTemplateId;

 private String mRecordID;
 private String mTemplate;
 private String mDateTime;
 private String mOption;
 private String mMarkName;
 private String mPassword;
 private String mMarkList;
 private String mBookmark;
 private String mDescript;
 private String mHostName;
 private String mMarkGuid;

 private String mHtmlName;
 private String mDirectory;
 private String mFilePath;

 private String mUserName;

 private String mCommand;
 private String mContent;

 private oa.bean.iMsgServer2000 MsgObj = new oa.bean.iMsgServer2000();
 private oa.bean.iDBManager2000 DbaObj = new oa.bean.iDBManager2000();


 private void PutAtBlob(BLOB vField,int vSize) throws IOException
 {
   try
   {
   OutputStream outstream=vField.getBinaryOutputStream();
   outstream.write(mFileBody,0, vSize);
   outstream.close();
   }
   catch(SQLException e)
   {

   }
 }

 private void GetAtBlob(BLOB vField,int vSize) throws IOException
 {
   try
   {
   mFileBody = new byte[vSize];
   InputStream instream=vField.getBinaryStream();
   instream.read(mFileBody,0,vSize);
   instream.close();
   }
   catch(SQLException e)
   {

   }
  }



 //调出文档,将文档内容保存在mFileBody里,以便进行打包
 private boolean LoadFile()
 {
  boolean mResult=false;
  String Sql= "SELECT FileBody,FileSize FROM Document_File WHERE RecordID='" + mRecordID + "'";
   if (DbaObj.OpenConnection())
  {
    try
    {
     ResultSet result=DbaObj.ExecuteQuery(Sql);
      if (result.next())
      {
        mResult=true;
        mFileSize=result.getInt("FileSize");
        //mFileBody=result.getBytes("FileBody");
        GetAtBlob(((OracleResultSet)result).getBLOB("FileBody"),mFileSize);
      }
      result.close();
    }
    catch(Exception e)
    {
      System.out.println(e.toString());
      mResult=false;
    }
    DbaObj.CloseConnection();
  }
  return (mResult);
 }

 //保存文档,如果文档存在,则覆盖,不存在,则添加
 private boolean SaveFile()
 {
  boolean mResult=false;
  int iFileId=0;
  String Sql= "SELECT * FROM Document_File WHERE RecordID='" + mRecordID + "'";
  if (DbaObj.OpenConnection())
  {
    try
    {
      ResultSet result=DbaObj.ExecuteQuery(Sql);
      if (result.next())
      {
        Sql="update Document_File set FileID=?,RecordID=?,FileName=?,FileType=?,FileSize=?,FileDate=?,FileBody=?,FilePath=?,UserName=?,Descript=? WHERE RecordID='" + mRecordID + "'";
        iFileId=result.getInt("FileId");
      }
      else
      {
        Sql="insert into Document_File (FileID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,?,?,?,? )";
        iFileId=DbaObj.GetMaxID("Document_File","FileId");
      }
      result.close();
    }
    catch(Exception e)
    {
      System.out.println(e.toString());
      mResult=false;
    }
    java.sql.PreparedStatement prestmt=null;
    try
    {
      DbaObj.Conn.setAutoCommit(false) ;
      prestmt =DbaObj.Conn.prepareStatement(Sql);
      prestmt.setInt(1,iFileId);
      prestmt.setString(2, mRecordID);
      prestmt.setString(3, mFileName);
      prestmt.setString(4, mFileType);
      prestmt.setInt(5, mFileSize);
      //prestmt.setString (5 ,mFileDate);
      //prestmt.setBytes(6, mFileBody);
      prestmt.setDate(6 ,DbaObj.GetDate());
      prestmt.setBlob(7 ,oracle.sql.BLOB.empty_lob());
      prestmt.setString(8, mFilePath);
      prestmt.setString(9, mUserName);
      prestmt.setString(10, mDescript);                                          //"通用版本"
      prestmt.execute();
      prestmt.close();

      Statement stmt=null;
      stmt = DbaObj.Conn.createStatement();
      OracleResultSet update=(OracleResultSet)stmt.executeQuery("select * from Document_File where Fileid=" + String.valueOf(iFileId));
      if (update.next()){
        mFileSize=mFileBody.length;
        PutAtBlob(((oracle.jdbc.OracleResultSet)update).getBLOB("FileBody"),mFileSize);
      }
      update.close();
      stmt.close();

      DbaObj.Conn.commit();
      mFileBody=null;
      mResult=true;
    }
    catch(IOException io)
    {
      System.out.println(io.toString());
    }
    catch(SQLException e)
    {
      System.out.println(e.toString());
      mResult=false;
    }
    DbaObj.CloseConnection();
  }
  return (mResult);
 }

//---------模板管理
//调出模板文档,将模板文档内容保存在mFileBody里,以便进行打包
private boolean LoadTemplate()
{
  boolean mResult=false;
  String Sql= "SELECT FileBody,FileSize FROM Template WHERE RecordID='" + mTemplate + "'";
  if (DbaObj.OpenConnection())
  {
    try
    {
      ResultSet result=DbaObj.ExecuteQuery(Sql);
      if (result.next())
      {
        mResult=true;
        //mFileBody=result.getBytes("FileBody");
        mFileSize=result.getInt("FileSize");
        GetAtBlob(((OracleResultSet)result).getBLOB("FileBody"),mFileSize);

      }
      result.close();
    }
    catch(Exception e)
    {
      System.out.println(e.toString());
      mResult=false;
    }
    DbaObj.CloseConnection();
  }
  return (mResult);
}

//保存模板文档,如果模板文档存在,则覆盖,不存在,则添加
private boolean SaveTemplate()
{
  boolean mResult=false;
  String Sql= "SELECT * FROM Template WHERE RecordID='" + mTemplate + "'";
  if (DbaObj.OpenConnection())
  {
    try
    {
      ResultSet result=DbaObj.ExecuteQuery(Sql);
      if (result.next())
      {
        Sql="update Template set TemplateID=?,RecordID=?,FileName=?,FileType=?,FileSize=?,FileDate=?,FileBody=?,FilePath=?,UserName=?,Descript=? WHERE RecordID='" + mTemplate + "'";
        mTemplateId=result.getInt("TemplateId");
      }
      else
      {
        Sql="insert into Template (TemplateID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,?,?,?,? )";
        mTemplateId=DbaObj.GetMaxID("Template","TemplateId");
      }
      result.close();
    }
    catch(Exception e)
    {
      System.out.println(e.toString());
      mResult=false;
    }
    java.sql.PreparedStatement prestmt=null;
    try
    {

      DbaObj.Conn.setAutoCommit(false) ;
      prestmt =DbaObj.Conn.prepareStatement(Sql);
      prestmt.setInt(1,mTemplateId);
      prestmt.setString(2, mTemplate);
      prestmt.setString(3, mFileName);
      prestmt.setString(4, mFileType);
      prestmt.setInt(5, mFileSize);
      //prestmt.setString (5 ,mFileDate);
      //prestmt.setBytes(6, mFileBody);
      prestmt.setDate(6 ,DbaObj.GetDate());
      prestmt.setBlob(7 ,oracle.sql.BLOB.empty_lob());
      prestmt.setString(8, mFilePath);
      prestmt.setString(9, mUserName);
      prestmt.setString(10, mDescript);                                          //"通用版本"
      prestmt.execute();
      prestmt.close();

      Statement stmt=null;
      stmt = DbaObj.Conn.createStatement();
      OracleResultSet update=(OracleResultSet)stmt.executeQuery("select * from Template where Templateid=" + Integer.toString(mTemplateId));
      if (update.next()){
        mFileSize=mFileBody.length;
        PutAtBlob(((oracle.jdbc.OracleResultSet)update).getBLOB("FileBody"),mFileSize);
      }
      update.close();
      stmt.close();

      DbaObj.Conn.commit();
      mFileBody=null;
      mResult=true;

    }
    catch(IOException io)
   {
     System.out.println(io.toString());
      mResult=false;
    }
   catch(SQLException e)
    {
      System.out.println(e.toString());
      mResult=false;
    }
    DbaObj.CloseConnection();
  }
  return (mResult);
 }

//列出所有版本信息
private boolean ListVersion()
{
   boolean mResult=false;
   String mDesc="";
   String Sql= "SELECT FileID,FileDate,UserName,Descript FROM Document_File WHERE RecordID='" + mRecordID + "'";

   mFileID="\r\n";
   mDateTime="保存时间\r\n";
   mUserName="用户名\r\n";
   mDescript="版本说明\r\n";

   if (DbaObj.OpenConnection())
   {
     try
     {
         mResult=true;
         ResultSet result=DbaObj.ExecuteQuery(Sql);
         while (result.next())
         {
           mFileID+=String.valueOf(result.getInt("FileID"))+"\r\n";                  //文件号列表
           mDateTime+=result.getString("FileDate")+"\r\n";                           //日期列表
           mUserName+=result.getString("UserName")+"\r\n";                           //用户名列表
           mDesc=result.getString("Descript");                                       //如果说明信息里有回车,则将回车变成>符号
           mDesc=mDesc.replace('\r','>');
           mDesc=mDesc.replace('\n','>');
           mDescript+=mDesc +"\r\n";
         }
         result.close();
     }
     catch(Exception e)
     {
       System.out.println(e.toString());
       mResult=false;
     }
     DbaObj.CloseConnection();
   }
   return (mResult);
}

//调入选中版本,通过文件号调用mFileID,并把文件放入mFileBody里,以便进行打包
private boolean LoadVersion(String mFileID)
{
  boolean mResult=false;
  String Sql= "SELECT FileBody,FileSize FROM Document_File WHERE RecordID='" + mRecordID + "' and  FileID=" + mFileID;
  if (DbaObj.OpenConnection())
  {
    try
    {
      ResultSet result=DbaObj.ExecuteQuery(Sql);
      if (result.next())
      {
        mResult=true;
        mFileBody=result.getBytes("FileBody");
        mFileSize=result.getInt("FileSize");
        GetAtBlob(((OracleResultSet)result).getBLOB("FileBody"),mFileSize);

      }
      result.close();
    }
    catch(Exception e)
    {
      System.out.println(e.toString());
      mResult=false;
    }
    DbaObj.CloseConnection();
  }
  return (mResult);
}

//保存版本,将该版本文件存盘,并将说明信息也保存起来
private boolean SaveVersion()
{
  boolean mResult=false;
  int iFileId;
  String Sql="insert into Document_File (FileID,RecordID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) values (?,?,?,?,?,?,?,?,?,? )";
  iFileId=DbaObj.GetMaxID("Document_File","FileId");


  if (DbaObj.OpenConnection())
  {
     java.sql.PreparedStatement prestmt=null;
    try
    {
      DbaObj.Conn.setAutoCommit(false) ;
      prestmt =DbaObj.Conn.prepareStatement(Sql);
      prestmt.setInt(1,iFileId);
      prestmt.setString(2, mRecordID);
      prestmt.setString(3, mFileName);
      prestmt.setString(4, mFileType);
      prestmt.setInt(5, mFileSize);
      //prestmt.setString (5 ,mFileDate);
      //prestmt.setBytes(6, mFileBody);
      prestmt.setDate(6 ,DbaObj.GetDate());
      prestmt.setBlob(7 ,oracle.sql.BLOB.empty_lob());
      prestmt.setString(8, mFilePath);
      prestmt.setString(9, mUserName);
      prestmt.setString(10, mDescript);                                          //"通用版本"
      prestmt.execute();
      prestmt.close();

      Statement stmt=null;
      stmt = DbaObj.Conn.createStatement();
      OracleResultSet update=(OracleResultSet)stmt.executeQuery("select * from Document_File where FileId=" + String.valueOf(iFileId));
      if (update.next()){
        mFileSize=mFileBody.length;
        PutAtBlob(((oracle.jdbc.OracleResultSet)update).getBLOB("FileBody"),mFileSize);
      }
      update.close();
      stmt.close();

      DbaObj.Conn.commit();
      mFileBody=null;

⌨️ 快捷键说明

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