A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

请详细说明下(谢谢)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
1,将图片转换成byte存储;
2,存进数据库可以直接用Image对象;
3,SqlCommand.Parameters.Add("@image",SqlDbType.Image).Value=myImage;  //myImage 为Image对象
4,从数据库取出来,是byte数组。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
我这有代码,读写都有,你自己看吧:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Data.SqlClient;
  10. using System.IO;
  11. namespace 图片存取
  12. {
  13.     public partial class Form1 : Form
  14.     {
  15.         
  16.         public Form1()
  17.         {
  18.             InitializeComponent();
  19.         }
  20.         SqlConnection conn;
  21.         SqlDataReader myreader;
  22.         byte[] photo = null;
  23.         #region //定义一个静态变量区
  24.      
  25.         #endregion
  26.         private void button1_Click(object sender, EventArgs e)
  27.         {

  28.             SqlCommand cmd1 = new SqlCommand("insert image values(@image_id,@image_tupian)", conn);
  29.             cmd1.Parameters.Add("@image_id", SqlDbType.Int, 4).Value = textBox1.Text;
  30.             cmd1.Parameters.Add("@image_tupian", SqlDbType.Image, photo.Length).Value = photo;
  31.             conn.Open();
  32.             cmd1.ExecuteNonQuery();
  33.             conn.Close();
  34.            
  35.            
  36.         }

  37.         private void button2_Click(object sender, EventArgs e)
  38.         {
  39.             OpenFileDialog ofd = new OpenFileDialog();
  40.             ofd.AddExtension = true;
  41.             ofd.Title = "图片选择过滤器";
  42.             ofd.Filter = "file(*.jpg)|*.jpg|file(*.bmp)|*.bmp";
  43.             if(ofd.ShowDialog()==DialogResult.OK)
  44.             {
  45.               
  46.                 pictureBox1.Image = Image.FromFile(ofd.FileName);
  47.                 FileStream fs = new FileStream(ofd.FileName,FileMode.Open,FileAccess.Read);
  48.                 BinaryReader br = new BinaryReader(fs);
  49.                 photo = br.ReadBytes((int)fs.Length);
  50.                 br.Close();
  51.                 fs.Close();

  52.             }
  53.         }

  54.         private void button3_Click(object sender, EventArgs e)
  55.         {
  56.             pictureBox1.Image = null;
  57.             SqlCommand cmd2 = new SqlCommand("select image_tupian from image where image_id='" + textBox1.Text + "'",conn);
  58.             //conn.Open();
  59.             //myreader = cmd2.ExecuteReader(CommandBehavior.CloseConnection);
  60.             //if (myreader.Read())
  61.             //{
  62.             //   photo =(byte[])myreader.GetValue(0);
  63.             //}
  64.             //MemoryStream ms = new MemoryStream(photo);
  65.             //pictureBox1.Image = Image.FromStream(ms);
  66.             //ms.Close();
  67.             //myreader.Close();
  68.             conn.Open();
  69.             photo = (byte[])cmd2.ExecuteScalar();
  70.             MemoryStream ms = new MemoryStream(photo);
  71.             if (ms.Length > 0)
  72.             {
  73.                 pictureBox1.Image = Image.FromStream(ms);
  74.             }
  75.             else
  76.                 pictureBox1.Image = null;
  77.             conn.Close();
  78.         }

  79.         private void Form1_Load(object sender, EventArgs e)
  80.         {
  81.          
  82.               conn = new SqlConnection(global.conString);
  83.               SqlDataAdapter sda = new SqlDataAdapter("Select * from image",conn);
  84.               DataSet ds = new DataSet();
  85.               sda.Fill(ds,"image");
  86.              dataGridView1.DataSource=ds.Tables["image"].DefaultView;
  87.               

  88.         }

  89.         private void button4_Click(object sender, EventArgs e)
  90.         {
  91.             Form2 f2 = new Form2();
  92.             f2.ShowDialog();
  93.         }
  94.     }
  95. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马