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(); } }
|