/* Author:Wu Xiuxiang; Email:imessage@126.com */ public static void Main() { //写入大对象到SqlServer FileStream fs = new FileStream("C:\\test.bmp",FileMode.OPen,FileAccess.Read); BinaryReader br = new BinaryReader(fs); SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=sa;database=northwind"); string cmdText = "UPDATE EMPLOYEES" + "SET Photo=@image where EmployeeId=1"; SqlCommand cmd = new SqlCommand(cmdText,conn); cmd.Parameters.Add("@image",SqlDbType.Image); cmd.Parameters["@image"].Value = br.ReadBytes((int)br.BaseStream.Length); conn.Open(); int i=cmd.ExecuteNoQuery(); //从SQL Server中读取大对象 string cmdtext = "SELECT employeeid,photo" + " from employees where employeeid = 1"; SqlCommand cmd2 = new SqlCommand(cmdtext,conn); FileStream rfs; BinaryWriter rbw; long numread; long startIndex; int buffSize=4096; byte[] buff = new byte[buffSize]; conn.Open(); SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.SequentialAccess); if(rdr.Read()) { int empid = rdr.GetInt32(0); fs = new FileStream("c:\\mypic.bmp",FileMode.OpenOrCreate,FileAccess.Write); bw = new BinaryWrite(fs); startIndex=0; numread = rdr.GetBytes(1,startIndex,buff,0,buffSize); while(numread==buffSize) { bw.Write(buff); bw.Flush(); startIndex+=buffSize; numread = rdr.GetBytes(1,startIndex,buff,buffSize); } bw.Write(buff); bw.Flush(); bw.Close(); fs.Close(); } rdr.Close(); conn.Close(); } |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 01:34 , Processed in 0.094049 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.