zoukankan      html  css  js  c++  java
  • sqlite 保存 二进制数据 武胜

    in C#:

    class Program
    {
        static void Main(string[] args){if(File.Exists("test.db3")){File.Delete("test.db3");}using(var connection = new SQLiteConnection("Data Source=test.db3;Version=3"))using(var command = new SQLiteCommand("CREATE TABLE PHOTOS(ID INTEGER PRIMARY KEY AUTOINCREMENT, PHOTO BLOB)", connection)){
                connection.Open();
                command.ExecuteNonQuery();
    
                byte[] photo = new byte[]{1,2,3,4,5};
    
                command.CommandText ="INSERT INTO PHOTOS (PHOTO) VALUES (@photo)";
                command.Parameters.Add("@photo", DbType.Binary,20).Value = photo;
                command.ExecuteNonQuery();
    
                command.CommandText ="SELECT PHOTO FROM PHOTOS WHERE ID = 1";using(var reader = command.ExecuteReader()){while(reader.Read()){
                        byte[] buffer = GetBytes(reader);}}}}
    
        static byte[] GetBytes(SQLiteDataReader reader){
            const int CHUNK_SIZE =2*1024;
            byte[] buffer = new byte[CHUNK_SIZE];
            long bytesRead;
            long fieldOffset =0;using(MemoryStream stream = new MemoryStream()){while((bytesRead = reader.GetBytes(0, fieldOffset, buffer,0, buffer.Length))>0){
                    stream.Write(buffer,0,(int)bytesRead);
                    fieldOffset += bytesRead;}return stream.ToArray();}}}
  • 相关阅读:
    瓜子二手车直卖网面试经历
    189. Rotate Array
    183. Customers Who Never Order
    182. Duplicate Emails
    文本的样式
    字体font
    定位position
    float引起的高度塌陷问题
    盒子大小 轮廓阴影 圆角
    文档流 颜色单位
  • 原文地址:https://www.cnblogs.com/zeroone/p/2829502.html
Copyright © 2011-2022 走看看