zoukankan      html  css  js  c++  java
  • 把图片存入数据库

    图片存入数据库需要把图片转成二进制才能存入,怎么把图片转成二进制,这就是关键。

    首先,在sql数据库建一个表image,只有一个字段im,数据类型image。

    建好之后,打开visual studio,建一个windows窗体应用程序

    下面是效果图:

    代码:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    using System.Data.SqlClient;
    
    namespace TestForm1
    {
        public partial class FormImageInSql : Form
        {
            public FormImageInSql()
            {
                InitializeComponent();
            }
    
           /// <summary>
            /// 存入数据库
           /// </summary>
            private void btn_before_Click(object sender, EventArgs e)
            {
                string filePath = @"....Imagesqiaoba.jpg";//WinForm窗体项目起始在debug文件夹下,写路径的时候注意了
                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
                byte[] buffer = new byte[fs.Length];
                fs.Read(buffer, 0, (int)fs.Length);
                SqlConnection con = DBHelper.getConnection();
                string cmd_str = "insert into Image values(@buffer)";
                SqlCommand cmd = new SqlCommand(cmd_str, con);
                SqlParameter para = new SqlParameter("@buffer", SqlDbType.Image);
                para.Value = buffer;
                cmd.Parameters.Add(para);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("存入成功!");
            }
    
            /// <summary>
            /// 从数据库中读出
            /// </summary>
            private void btn_after_Click(object sender, EventArgs e)
            {
                string con_str = "select top 1 im from Image ";
                SqlConnection con = DBHelper.getConnection();
                SqlCommand cmd = new SqlCommand(con_str, con); con.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                dr.Read();
                MemoryStream ms = new MemoryStream((byte[])dr["im"]);
                Image image = Image.FromStream(ms, true);
                dr.Close();
                con.Close();
                pb_after.SizeMode = PictureBoxSizeMode.StretchImage;
                pb_after.Image = image; 
            }
        }
    }
    
  • 相关阅读:
    SQL_Server_2005_数据类型转换函数(描述及实例)
    讨论:GUID与int自增列的问题
    SQL Server 2005无日志文件附加数据库
    优化SQL查询:如何写出高性能SQL语句
    开源项目之视频会议程序 Omnimeeting
    wzplayer player (android,windows,ios) 多核解码
    利用office2010 word2010生成目录
    利用office2010 word2010生成目录
    最近在忙活视频通话(sip)
    介绍几个在线画流程图的工具
  • 原文地址:https://www.cnblogs.com/xushining/p/3186100.html
Copyright © 2011-2022 走看看