zoukankan      html  css  js  c++  java
  • 从SQL Server中读写大数据列。

     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();
       
     }
  • 相关阅读:
    数据挂载
    LVS学习与测试——NAT模式
    VirtualBox 网络设置 VirtualBox中客机与主机互通
    [原]两个android程序间的相互调用(apk互调)
    [置顶] Android Service与Activity之间通信的几种方式
    [置顶] android 开发中判断网络是否连接的代码
    [置顶] 判断时间格式是否正确
    [置顶] 输出map信息
    [置顶] checkEmail判断邮箱格式
    [置顶] checkPhone判断手机号格式
  • 原文地址:https://www.cnblogs.com/wxx/p/188969.html
Copyright © 2011-2022 走看看