📄 webofficeserver.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using DotNetOfficeServer;
using System.Text;
namespace OI.DocTemplate
{
/// <summary>
/// WebOfficeServer 的摘要说明。
/// </summary>
public class WebOfficeServer : System.Web.UI.Page
{
private string myConnectionString=System.Configuration.ConfigurationSettings.AppSettings["conn"];
private OI.DatabaseOper.DatabaseConnect DBAobj=new OI.DatabaseOper.DatabaseConnect();
private void Page_Load(object sender, System.EventArgs e)
{
byte[] x;
x=Request.BinaryRead(Request.ContentLength);
OfficeServer mObj=new OfficeServer();
mObj.SetObj(x);
string option=mObj.GetFieldData("OPTION");
switch (option)
{
case "SAVEFILE":
SaveFile(x,mObj);
mObj.setfield("STATUS","保存成功!");
mObj.Error="";
break;
case "LOADFILE":
LoadFile(mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "LOADVERSION":
loadVersion(mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "LISTVERSION":
ListVersion(mObj);
mObj.Error="";
break;
case "SAVEVERSION":
SaveVersion(x,mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "SaveMARKIMAGE":
SaveMarkImage(x,mObj);
mObj.Error="";
mObj.ClearFields();
break;
case "LOADMARKIMAGE":
LoadMarkImage(mObj);
mObj.Error="";
break;
case "LOADMARKLIST":
LoadMarkList(mObj);
break;
}
Response.BinaryWrite(mObj.GetObj());
}
public void LoadMarkList(OfficeServer mClass1)
{
string Sql= "SELECT MarkName FROM Signature";
DataSet ds=new DataSet();
ds=DBAobj.getBinding(Sql,"a");
mClass1.ClearFields();
string data="";
for (int i=0;i<ds.Tables[0].Rows.Count;i++)
{
data+=ds.Tables[0].Rows[i]["MarkName"].ToString()+"\r\n";
}
mClass1.setfield("MARKLIST",data);
}
public void LoadMarkImage(OfficeServer mClass1)
{
string mMarkName=mClass1.GetFieldData("IMAGENAME"); //'取得文档名
string mPassword=mClass1.GetFieldData("PASSWORD");
string Sql= "SELECT MarkBody,MarkSize,MarkType FROM Signature WHERE MarkName='" + mMarkName + "' and PassWord='" + mPassword + "'";
SqlConnection conn=new SqlConnection();
conn.ConnectionString=myConnectionString;
conn.Open();
SqlDataReader sdr;
SqlCommand comm=new SqlCommand(Sql ,conn);
sdr=comm.ExecuteReader();
if (sdr.Read())
{
int m=(int)sdr.GetValue(1);
byte[] x=new byte[m];
sdr.GetBytes(0,0,x,0,m);
string type=sdr.GetValue(2).ToString();
mClass1.SetObj(x);
mClass1.setfield("STATUS","打开印章成功!");
mClass1.setfield("IMAGETYPE",type);
}
sdr.Close();
}
public void SaveMarkImage(byte[] x,OfficeServer mClass1)
{
string mMarkName=mClass1.GetFieldData("IMAGENAME"); //'取得文档名
string mPassword=mClass1.GetFieldData("PASSWORD");
string mFileType=mClass1.GetFieldData("FileType");
SqlConnection Conn = new SqlConnection(myConnectionString);
Conn.Open();
string Sql= "SELECT * FROM Signature WHERE MarkName='" + mMarkName + "' ";
DataSet ds=new DataSet();
ds=DBAobj.getBinding(Sql,"b");
if (ds.Tables[0].Rows.Count>0)
{
SqlCommand addEmp = new SqlCommand("UPDATE Signature set PassWord=@PassWord,MarkName=@MarkName,MarkType=@MarkType,"+
"MarkSize=@MarkSize,MarkDate=getdate(),MarkBody=@MarkBody,MarkPath=@MarkPath,UserName=@UserName where MarkName='" + mMarkName + "' ",Conn);
addEmp.Parameters.Add("@PassWord",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("PASSWORD");
addEmp.Parameters.Add("@MarkName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("IMAGENAME");
addEmp.Parameters.Add("@MarkType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("FileType");
addEmp.Parameters.Add("@MarkSize",SqlDbType.Int).Value = x.Length;
addEmp.Parameters.Add("@MarkBody",SqlDbType.Image, x.Length).Value = x;
addEmp.Parameters.Add("@MarkPath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
addEmp.ExecuteNonQuery();
}
else
{
SqlCommand addEmp = new SqlCommand("INSERT INTO Signature (PassWord,MarkName,MarkType,MarkSize,MarkDate,MarkBody,MarkPath,UserName) " +
"Values(@PassWord,@MarkName,@MarkType,@MarkSize,getdate(),@MarkBody,@MarkPath,@UserName)", Conn);
addEmp.Parameters.Add("@PassWord",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("PASSWORD");
addEmp.Parameters.Add("@MarkName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("IMAGENAME");
addEmp.Parameters.Add("@MarkType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("FileType");
addEmp.Parameters.Add("@MarkSize",SqlDbType.Int).Value = x.Length;
addEmp.Parameters.Add("@MarkBody",SqlDbType.Image, x.Length).Value = x;
addEmp.Parameters.Add("@MarkPath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
addEmp.ExecuteNonQuery();
}
}
public void SaveVersion(byte[] x,OfficeServer mClass1)
{
string mRecordID=mClass1.GetFieldData("RECORDID"); //取得文档编号
SqlConnection Conn = new SqlConnection(myConnectionString);
Conn.Open();
SqlCommand addEmp = new SqlCommand("INSERT INTO Document_File (RECORDID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) " +
"Values(@RECORDID,@FileName,@FileType,@FileSize,getdate(),@FileBody,@FilePath,@UserName,@Descript)", Conn);
addEmp.Parameters.Add("@RECORDID",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("RECORDID");
addEmp.Parameters.Add("@FileName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("FileName");
addEmp.Parameters.Add("@FileType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("FileType");
addEmp.Parameters.Add("@FileSize",SqlDbType.Int).Value = x.Length;
addEmp.Parameters.Add("@FileBody",SqlDbType.Image, x.Length).Value = x;
addEmp.Parameters.Add("@FilePath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
addEmp.Parameters.Add("@Descript",SqlDbType.VarChar, 255).Value = mClass1.GetFieldData("Descript");
addEmp.ExecuteNonQuery();
}
public void ListVersion(OfficeServer mClass1)
{
string mRecordID=mClass1.GetFieldData("RECORDID"); //取得文档编号
string Sql= "SELECT FileID,FileDate,UserName,Descript FROM Document_File WHERE RecordID='" + mRecordID + "'";
DataSet ds=new DataSet();
ds=DBAobj.getBinding(Sql,"c");
mClass1.ClearFields();
for (int i=0;i<ds.Tables[0].Rows.Count;i++)
{
string mFileID =ds.Tables[0].Rows[i]["FileID"].ToString(); //文件号列表
string mDateTime =ds.Tables[0].Rows[i]["FileDate"].ToString(); //'日期列表
string mUserName = ds.Tables[0].Rows[i]["UserName"].ToString(); //'用户名列表
string mDescript =ds.Tables[0].Rows[i]["Descript"].ToString();//'
mClass1.setfield( "FILEID"+i.ToString(), mFileID) ;
mClass1.setfield( "DATETIME"+i.ToString(), mDateTime);
mClass1.setfield( "USERNAME"+i.ToString(),mUserName );
mClass1.setfield("DESCRIPT"+i.ToString(), mDescript );
}
mClass1.setfield("ROWCOUNT", ds.Tables[0].Rows.Count.ToString() );
}
public void loadVersion(OfficeServer mClass1)
{
string mRecordID=mClass1.GetFieldData("RECORDID"); //取得文档编号
string mFileID=mClass1.GetFieldData("FILEID"); //取得版本文档号
SqlConnection conn=new SqlConnection();
conn.ConnectionString=myConnectionString;
conn.Open();
SqlDataReader sdr;
SqlCommand comm=new SqlCommand("select filebody,filesize from Document_File where FileID=" + mFileID ,conn);
sdr=comm.ExecuteReader();
sdr.Read();
int m=(int)sdr.GetValue(1);
byte[] x=new byte[m];
sdr.GetBytes(0,0,x,0,m);
sdr.Close();
mClass1.SetObj(x);
}
public void LoadFile(OfficeServer mClass1)
{
string mRecordID=mClass1.GetFieldData("RECORDID"); //取得文档编号
SqlConnection conn=new SqlConnection();
conn.ConnectionString=myConnectionString;
conn.Open();
SqlDataReader sdr;
SqlCommand comm=new SqlCommand("select filebody,filesize from Document_File where RecordID='" + mRecordID + "'",conn);
sdr=comm.ExecuteReader();
sdr.Read();
int m=(int)sdr.GetValue(1);
byte[] x=new byte[m];
sdr.GetBytes(0,0,x,0,m);
sdr.Close();
mClass1.SetObj(x);
}
public void SaveFile(byte[] x,OfficeServer mClass1)
{
string mRecordID=mClass1.GetFieldData("RECORDID"); //取得文档编号
SqlConnection Conn = new SqlConnection(myConnectionString);
string Sql= "SELECT * FROM Document_File WHERE RecordID='" + mRecordID + "'";
Conn.Open();
SqlDataAdapter sda=new SqlDataAdapter(Sql,Conn);
SqlCommandBuilder scb=new SqlCommandBuilder(sda);
DataTable dt=new DataTable();
sda.Fill(dt);
if (dt.Rows.Count>0)
{
SqlCommand addEmp = new SqlCommand("UPDATE Document_File set RECORDID=@RECORDID,FileName=@FileName,FileType=@FileType,"+
"FileSize=@FileSize,FileDate=getdate(),FileBody=@FileBody,FilePath=@FilePath,UserName=@UserName,Descript=@Descript where RecordID='" + mRecordID + "' ",Conn);
addEmp.Parameters.Add("@RECORDID",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("RECORDID");
addEmp.Parameters.Add("@FileName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("FileName");
addEmp.Parameters.Add("@FileType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("FileType");
addEmp.Parameters.Add("@FileSize",SqlDbType.Int).Value = x.Length;
addEmp.Parameters.Add("@FileBody",SqlDbType.Image, x.Length).Value = x;
addEmp.Parameters.Add("@FilePath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
addEmp.Parameters.Add("@Descript",SqlDbType.VarChar, 255).Value = mClass1.GetFieldData("Descript");
addEmp.ExecuteNonQuery();
}
else
{
SqlCommand addEmp = new SqlCommand("INSERT INTO Document_File (RECORDID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) " +
"Values(@RECORDID,@FileName,@FileType,@FileSize,getdate(),@FileBody,@FilePath,@UserName,@Descript)", Conn);
addEmp.Parameters.Add("@RECORDID",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("RECORDID");
addEmp.Parameters.Add("@FileName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("FileName");
addEmp.Parameters.Add("@FileType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("FileType");
addEmp.Parameters.Add("@FileSize",SqlDbType.Int).Value = x.Length;
addEmp.Parameters.Add("@FileBody",SqlDbType.Image, x.Length).Value = x;
addEmp.Parameters.Add("@FilePath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
addEmp.Parameters.Add("@Descript",SqlDbType.VarChar, 255).Value = mClass1.GetFieldData("Descript");
addEmp.ExecuteNonQuery();
}
Conn.Close();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -