该例子是一个对SQL Server数据类型的一个操作例子,具有写入、读取功能。
1:准备数据库
1)创建数据库 Test
2)创建表 Table_1 (分别有2个字段:id(Int)、photo(Image))
如图:
2:用C#进行读写操作,完整代码如下:
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.Data.SqlClient; using System.IO; namespace imageTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btn_brewse_Click(object sender, EventArgs e) { OpenFileDialog op = new OpenFileDialog(); op.Title = "浏览图像文件"; op.Filter = "图像文件(*.jpg)|*.jpg"; op.ShowDialog(); txt_ImageAddress.Text = op.FileName; } private void btn_Insert_Click(object sender, EventArgs e) { FileStream fs = new FileStream(txt_ImageAddress.Text,FileMode.Open,FileAccess.Read); byte[] byteArray = new byte[fs.Length]; fs.Read(byteArray,0,Convert.ToInt32(fs.Length)); fs.Close(); string connectionStr = "Server=.;Database=Test;Uid=sa;Pwd=123456"; SqlConnection conn = new SqlConnection(connectionStr); conn.Open(); SqlCommand cmd = new SqlCommand("INSERT INTO Table_1(photo) VALUES(@photo)",conn); SqlParameter parmeter = new SqlParameter("@photo", SqlDbType.Image); parmeter.Value = byteArray; cmd.Parameters.Add(parmeter); int result = cmd.ExecuteNonQuery(); if (result > 0) MessageBox.Show("插入成功"); conn.Close(); } private void btn_ReadImage_Click(object sender, EventArgs e) { string connectionStr = "Server=.;Database=Test;Uid=sa;Pwd=123456"; SqlConnection conn = new SqlConnection(connectionStr); conn.Open(); SqlCommand cmd = new SqlCommand("SELECT * FROM Table_1",conn); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); byte[] image = (byte[])dr["photo"]; conn.Close(); if (image.Length == 0) return; string photoUrl = Environment.CurrentDirectory + "\\1.jpg"; FileStream fs = new FileStream(photoUrl, FileMode.OpenOrCreate, FileAccess.Write); BinaryWriter bw = new BinaryWriter(fs); bw.BaseStream.Write(image, 0, image.Length); bw.Flush(); bw.Close(); picbox_image.ImageLocation = photoUrl; } } }
效果如图:
完整项目(包含数据库文件)下载地址:http://download.csdn.net/source/3576866
也可以留下Email,我会第一时间发给你。