Esempio n. 1
0
        //生成数据流
        public static void SavePdfToDB(string Key, string ProcName, MemoryStream m, string FileID)
        {
            byte[] fileData = (byte[])m.ToArray();

            //SQL
            if (!UIPublicClass.PublicClass.IsSingleClent)
            {
                IDataParameter[] param = new IDataParameter[] {
                    new SqlParameter(Key, SqlDbType.NVarChar, 50),
                    new SqlParameter("FImage", SqlDbType.Image)
                };
                param[0].Value = FileID;
                param[1].Value = fileData;

                int rowsAffected;
                int rows = (int)DataSql.RunProcedure(ProcName, param, out rowsAffected);
            }
            //ACCESS
            else
            {
                string oldConn = DataSql.ConStr;
                DataSql.ConStr = DataSql.ConStr_Pdf;//暂时更换数据库连接语句
                try
                {
                    string existSql, deleteSql, insertSql, tablename = string.Empty, fieldname = string.Empty;

                    switch (PdfMergerCommand.archivesType)
                    {
                    case UIPublicClass.Enum.ArchivesType.编制档案:
                        tablename = "BZ_FilePdf";
                        fieldname = "案卷ID";
                        break;

                    case UIPublicClass.Enum.ArchivesType.城建档案新:
                        tablename = "CjFilePdf";
                        fieldname = "案卷ID";
                        break;

                    case UIPublicClass.Enum.ArchivesType.公安业务档案:
                        tablename = "YW_FilePdf";
                        fieldname = "案卷ID";
                        break;

                    case UIPublicClass.Enum.ArchivesType.归档文件:
                        tablename = "GD_FilePdf";
                        fieldname = "文件ID";
                        break;

                    case UIPublicClass.Enum.ArchivesType.科技档案_2000:
                        tablename = "KeJi_FilePdf";
                        fieldname = "案卷ID";
                        break;

                    case UIPublicClass.Enum.ArchivesType.社保业务档案:
                        tablename = "SBYW_FilePdf";
                        fieldname = "案卷ID";
                        break;

                    case UIPublicClass.Enum.ArchivesType.文书档案:
                        tablename = "WS_FilePdf";
                        fieldname = "案卷ID";
                        break;

                    case UIPublicClass.Enum.ArchivesType.沿革档案:
                        tablename = "YG_FilePdf";
                        fieldname = "案卷ID";
                        break;
                    }

                    if (tablename != string.Empty && fieldname != string.Empty)
                    {
                        existSql  = string.Format("select Count(*) from {0} where {1}={2}", tablename, fieldname, FileID);
                        deleteSql = string.Format("delete from {0} where {1}={2}", tablename, fieldname, FileID);
                        insertSql = string.Format("insert into {0} ({1},Pdf,Status) values (@FileID,@FImage,1)", tablename, fieldname);
                        SqlParameter[] parameter =
                        {
                            new SqlParameter("@FileID", SqlDbType.Int, 4),
                            new SqlParameter("@FImage", SqlDbType.Image)
                        };
                        parameter[0].Value = FileID;
                        parameter[1].Value = fileData;

                        bool exist = DataSql.Exists(existSql);
                        if (exist)
                        {
                            DataSql.ExecuteSql(deleteSql);
                        }
                        DataSql.ExecuteSql(insertSql, parameter);
                    }
                }
                catch
                {
                }
                finally
                {
                    //还原数据库连接语句
                    DataSql.ConStr = oldConn;
                }
            }
        }