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;
                      }
                      
                }
          }
    }
  • 相关阅读:
    SQL练习题32:请你创建一个actor_name表,并且将actor表中的所有first_name以及last_name导入该表.
    SQL练习题31:对于表actor批量插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)
    SQL练习题30:对于表actor批量插入如下数据(不能有2条insert语句哦!)
    npm run dev 报错:missing script:dev
    [转]vue中“:”、“.”、“@”的意义
    Vue踩坑记录
    Vue指令:v-clock解决页面闪烁问题
    npm-安装模块时出现rollbackFailedOptional
    js中[]、{}、()的区别
    IDEA离线安装插件
  • 原文地址:https://www.cnblogs.com/linmilove/p/1500987.html
Copyright © 2011-2022 走看看