zoukankan      html  css  js  c++  java
  • Access保存图片

    Access保存图片
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Data.OleDb;
    namespace Files2Access
    {
          /// <summary>
          /// 任意文件保存到access数据库中
          /// 注意:数据库格式!!!
          /// </summary>
          public class File2Access
          {
                
                private string accessName;
                /// <summary>
                /// 指定access路径
                /// </summary>
                /// <param name="s">路径名</param>
                public File2Access(string s)
                {
                      this.accessName = s;
                }
                /// <summary>
                ///使用默认access路径
                /// </summary>
                public File2Access()
                {
                      this.accessName =@"E:\mine\tiku.mdb";
                }
                /// <summary>
                /// 将文件保存到access数据库中
                /// </summary>
                /// <param name="access">access数据库的路径</param>
                /// <param name="file">要保存的文件</param>
                /// <returns></returns>
                public bool insert2access(FileInfo file)
                {
                      OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+accessName);
                      if (file.Exists)
                      {
                            byte[] bdata = null;
                            using (FileStream fs = file.OpenRead())
                            {
                                  bdata = new byte[file.Length];
                                  int nReadLength = fs.Read(bdata, 0, (int)file.Length);
                            }
                            string strQuery = "INSERT INTO StorageQ "
                                                                   + " ( FileName, Content) "
                                                                   + " VALUES "
                                                                   + " ( @FileName, @Content ) ";
                            OleDbCommand comm = new OleDbCommand(strQuery, conn);
                            comm.Parameters.Add("@FileName", file.Name);
                            comm.Parameters.Add("@Content", bdata);
                            conn.Open();
                            comm.ExecuteNonQuery();
                            return true;
                      }
                      else
                      {
                            return false;
                      }

                }
          }
    }

    读出文件
    源自:http://www.net0and1.com/
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO;
    using System.Data.OleDb;
    namespace Files2Access
    {
          public class access2file
          {
                private string fileName;
                private string accessName;
                public access2file(string s1,string s2)
                {
                      fileName = s1;
                      accessName = s2;
                }
                public access2file()
                {
                      fileName = @"c:\noname";
                      this.accessName = @"E:\mine\tiku.mdb";
                }
                
                public bool extractFile(string uNeedFileName)
                {
                      try
                      {
                            byte[] bData = null;
                            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + accessName);
                            string strQuery = "SELECT Content FROM StorageQ "
                                                                + " WHERE FileName = " +"'"+ uNeedFileName+"'";

                            conn.Open();
                            OleDbCommand comm = new OleDbCommand(strQuery, conn);

                            OleDbDataReader dr = comm.ExecuteReader();
                            while (dr.Read())
                            {
                                  bData = (byte[])dr["Content"];
                            }
                            conn.Close();
                            dr.Close();
                            if (bData != null)
                            {
                                  // Save file
                                  FileInfo fi = new FileInfo(fileName);
                                  if (!fi.Exists)
                                  {
                                        //Create the file.
                                        using (FileStream fs = fi.Create())
                                        {
                                              fs.Write(bData, 0, bData.Length);
                                        }
                                  }
                                  else
                                  {
                                        //Create the file.
                                        using (FileStream fs = fi.OpenWrite())
                                        {
                                              fs.Write(bData, 0, bData.Length);
                                        }
                                  }
                            }
                            return true;
                      }
                      catch (Exception e)
                      {
                            return false;
                      }
                      
                }
          }
    }
  • 相关阅读:
    python模拟shell
    10.LIKE 操作符
    9.TOP 子句--mysql limit
    8.INSERT INTO 语句 UPDATE 语句
    7.ORDER BY 子句
    6.AND & OR 运算符
    5.WHERE 子句
    4.SELECT DISTINCT 语句
    3.SELECT 语句
    2.sql分类
  • 原文地址:https://www.cnblogs.com/linmilove/p/1500987.html
Copyright © 2011-2022 走看看