C#从SQL_数据库中读取与存入图片.doc
文本预览下载声明
C#从SQL 数据库中读取和存入图片
介绍如何将图片存入数据库。将图片存入数据库,首先要在数据库中建立一张表,将存储图片的字段类型设为Image类型,用FileStream类、BinaryReader把图片读成字节的形式,赋给一个字节数组,然后用ADO.SqlCommand对象的ExecuteNonQuery()方法来把数据保存到数据库中。主要代码如下:
private void button1_Click(object sender, EventArgs e){
??openFileDialog1.Filter = *jpg|*.JPG|*.GIF|*.GIF|*.BMP|*.BMP;
??if(openFileDialog1.ShowDialog()==DialogResult.OK){????string fullpath =openFileDialog1.FileName;//文件路径
????FileStream fs = new FileStream(fullpath, FileMode.Open);
????byte[] imagebytes =new byte[fs.Length];
????BinaryReader br = new BinaryReader(fs);
????imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
????//打开数据库
SqlConnection con = new
SqlConnection(server=(local);uid=sa;pwd=;database=db_05);
????con.Open();
SqlCommand com = new SqlCommand(insert into tb_08
values(@ImageList),con);
????com.Parameters.Add(ImageList, SqlDbType.Image);
????com.Parameters[ImageList].Value = imagebytes;
????com.ExecuteNonQuery();
con.Close();
}????
}
主要介绍如何从数据库中把图片读出来。实现本实例主要是利用SqlDataReader从数据库中把Image字段值读出来,赋给一个byte[]字节数组,然后使用MemoryStream类与Bitmap把图片读取出来。主要代码如下:
private void button1_Click(object sender, EventArgs e){
??byte[] imagebytes = null;
??//打开数据库
??SqlConnection con = new
SqlConnection(server=(local);uid=sa;pwd=;database=db_05);
??con.Open();
??SqlCommand com = new SqlCommand(select top 1* from tb_09, con);
??SqlDataReader dr = com.ExecuteReader();
??while (dr.Read()){
????imagebytes = (byte[])dr.GetValue(1);}
????dr.Close();
????com.Clone();
????con.Close();
????MemoryStream ms = new MemoryStream(imagebytes);
????Bitmap bmpt = new Bitmap(ms);
????pictureBox1.Image = bmpt;
?}
主要介绍如何只允许输入指定图片格式。用OpenFileDialog控件打开图片文件,只要将OpenFileDialog控件的Filter属性指定为特定的图片格式即可。例如,打开.bmp文件的图片,主要代码如下:this.openFileDialog1.Filter = bmp文件(*.bmp)|*.bmp;在用pictureBox控件输入图片时,要想统一图片大小,只需把控件的SizeMode属性值设为StretchImage即可,StretchImage值表示图像的大小将调整为控件的大小。这样,图片的大小就统一了。ASP.NET下上传图片到数据库,并且读出图片 首先在SQL Server中建立一个图片存储的数库表,ImageData Column为图象二进制数据储存字段,ImageContentType Column为图象文件类型
显示全部