Store an Image(OLE Object) into Access Data Base

本文介绍如何使用 C# 在 Winform 应用中将图片存储到 Access 数据库的方法。通过示例代码展示了从文件读取图片、转换为字节数组并插入到数据库的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Store an Image(OLE Object) into Access Data Base

 

C# Winform application Store an Image into Access Data Base

 

 

用以下方法

 

  /// 2010-02-26 Forever

        private void SaveImageInDataBase()
        {
            OleDbConnection conn = null;
            try
            {
                string strDBFile = Environment.CurrentDirectory + @"/Test.mdb";
                string connstr = "Jet OLEDB:Database Password=;Data Source='" + strDBFile + "';Password=;Provider='Microsoft.Jet.OLEDB.4.0'";

                conn = new OleDbConnection(connstr);
                OleDbCommand cmd;

                String strimg = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "//test2.bmp";

 

                //Read Image Bytes into a byte array

                //Initialize byte array with a null value initially.
                byte[] imageData = null;

 

                //Use FileInfo object to get file size.
                FileInfo fInfo = new FileInfo(strimg);
                long numBytes = fInfo.Length;

 

                //Open FileStream to read file
                FileStream fStream = new FileStream(strimg, FileMode.Open, FileAccess.Read);

 

                //Use BinaryReader to read file stream into byte array.
                BinaryReader br = new BinaryReader(fStream);

 

                //When you use BinaryReader, you need to supply number of bytes to read from file.
                //In this case we want to read entire file. So supplying total number of bytes.
                imageData = br.ReadBytes((int)numBytes);

 

                //Set insert query
                string qry = "insert into [admin] ([Logo]) values(@Logo)";

 

                //Initialize SqlCommand object for insert.
                cmd = new OleDbCommand(qry, conn);

 

                OleDbParameter p1 = new OleDbParameter("@Logo", OleDbType.Binary);
                p1.Value = imageData;
                cmd.Parameters.Add(p1);

 

                //We are passing Original Image Path and Image byte data as sql parameters.
                //SqlCom.Parameters.Add(new SqlParameter("@ImageData", (object)imageData));

                //Open connection and execute insert query.


                conn.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
            finally
            {
                conn.Close();
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值