• 读写入大对象到SqlServer数据库



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

    }
  • 相关阅读:
    448. Find All Numbers Disappeared in an Array
    447. Number of Boomerangs
    441. Arranging Coins
    438. Find All Anagrams in a String
    437. Path Sum III
    434. Number of Segments in a String
    422. Valid Word Square
    415. Add Strings
    414. Third Maximum Number
    [codility]Array-closest-ascenders
  • 原文地址:https://www.cnblogs.com/llbofchina/p/206946.html
Copyright © 2020-2023  润新知