强强专栏

关注:Object-Oriented,C++,C#,NET.data structure,software engineering,Design pattern

原创 从SQL Server中读写大数据列。 收藏

新一篇: 重回我的博客 | 旧一篇: 悲观观定SQL Server和Oracle

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

发表于 @ 2005年07月09日 17:16:00|评论(loading...)|编辑

新一篇: 重回我的博客 | 旧一篇: 悲观观定SQL Server和Oracle

评论

#lover_P 发表于2005-07-11 15:23:00  IP: 61.186.252.*
hi,朋友~你的这个源代码的折叠功能使用工具作的吧?用的啥啊?能否告诉我一下,lyb.net@gmail.com
多谢多谢!
#kwlong2008 发表于2008-10-11 16:57:01  IP: 123.114.183.*
网站优化虚拟主机的空间,希望大家来访
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 舍我