成功.NET将SQL SERVER二进制转换为文件

public Boolean SaveFile( string AddMan)
        {
            string strSQLconn = "Server=172.16.21.213;initial catalog=SRR_LZ;user id=sa;password=szzttz;Connect Timeout=500";//数据库连接字符串
            SqlConnection conn = new SqlConnection(strSQLconn);//声明连接            
            conn.Open();
            SqlCommand com1 = conn.CreateCommand();
            SqlTransaction tran1 = conn.BeginTransaction();
            com1.Transaction = tran1;
            try
            {
                string webRootPath = Directory.GetCurrentDirectory();//根目录
                string FileDir = webRootPath + "\\UploadFile\\";//pdf上传目录
                string FilePath = "";//文件路径
                string FileName = "";//文件名称
                string id_fun = "";//存储id字段
                #region 获取二进制数据

string sqlStr = "select id,data,allcode from ART_data1.dbo.data_SinglegeneReprart where (convert(varchar(128),id) not in (select id from GeneTestResultss))";//数据库的查询语句
                com1.CommandText = sqlStr;
                com1.CommandTimeout = 60000;
                SqlDataAdapter sda = new SqlDataAdapter(com1);
                DataSet ds = new DataSet();
                sda.Fill(ds, "data_SinglegeneReport");
                DataTable myTable = ds.Tables["data_SinglegeneReport"];
                for (int i = 0; i < myTable.Rows.Count; i++)
                {
                    byte[] FileData = (byte[])myTable.Rows[i]["data"];// System.Text.Encoding.Default.GetBytes( myTable.Rows[0]["data"]);
                    id_fun = myTable.Rows[i]["id"] + "";//id字段
                        FileName = id_fun + ".pdf";
                    #endregion
                    #region 保存文件
                    if (!Directory.Exists(FileDir))
                    {
                        Directory.CreateDirectory(FileDir);
                    }
                    FilePath = Path.Combine(FileDir, FileName);
                    FileStream fs = new FileStream(FilePath, FileMode.Create);
                    fs.Write(FileData, 0, FileData.Length);
                    fs.Close();
                    #endregion
                }
                sda.Dispose();
                #region 保存数据到基因检测结果表
                sqlStr = "insert into GeneTestResultss(id,EggDevelopementDisorderNumber,AddMan,AddTime,ReportingTime,PdfFilePath) select a.id,b.EggDevelopementDisorderNumber,'" + AddMan + "',a.jlsj,a.bgrq,'/UploadFile/' + convert(varchar,a.id) as PdfFilePath from ART_data1.dbo.data_SinglegeneReprart  a,SR_LZ.dbo.LZBase b where a.kh=b.CardNumber and (convert(varchar(128),a.id) not in (select id from SR_LZ.dbo.GeneTestResults))";
                com1.CommandText = sqlStr;
                com1.ExecuteNonQuery();
                #endregion
                tran1.Commit();
                return true;
            }
            catch (Exception r)
            {
                tran1.Rollback();
                return false;
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }

(0)

相关推荐