private void button3_Click(object sender, EventArgs e)
{//打开openfiledialog进行图片的选择
// openFileDialog1.InitialDirectory = "d:\\";
openFileDialog1.Filter = " 图片文件(*.bmp,*.gif*.jpg)|*.jpg;*.bmp;*.gif";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
filename = openFileDialog1.FileName;
System.Drawing.Bitmap MyBitmap = new Bitmap(filename);
//this.pictureBox1.SizeMode = StretchImage; //让图片适应picturebox的大小
this.pictureBox1.Image = MyBitmap;
}
}下面是保存图片到数据库中的函数
private void baocun()
{//将图片保存到sql数据库中的image字段
FileStream fs = new FileStream(filename,FileMode.Open); byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
SqlCommand com = new SqlCommand("insert into 超市信息(超市图片) values(@MyImage)",Program.objcn);
com.Parameters.Add("MyImage",SqlDbType.Image);
com.Parameters["MyImage"].Value = imagebytes;
DataBase.DBState();
Program.objcn.Open();
com.ExecuteNonQuery();
DataBase.DBState();
MessageBox.Show("图片成功保存到数据库中!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}运行到红色的那行时出现下面的错误
文件“E:\图片\爱情跳动在26个字母之中\y.jpg”正由另一进程使用,因此该进程无法访问该文件。
{//打开openfiledialog进行图片的选择
// openFileDialog1.InitialDirectory = "d:\\";
openFileDialog1.Filter = " 图片文件(*.bmp,*.gif*.jpg)|*.jpg;*.bmp;*.gif";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
filename = openFileDialog1.FileName;
System.Drawing.Bitmap MyBitmap = new Bitmap(filename);
//this.pictureBox1.SizeMode = StretchImage; //让图片适应picturebox的大小
this.pictureBox1.Image = MyBitmap;
}
}下面是保存图片到数据库中的函数
private void baocun()
{//将图片保存到sql数据库中的image字段
FileStream fs = new FileStream(filename,FileMode.Open); byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
SqlCommand com = new SqlCommand("insert into 超市信息(超市图片) values(@MyImage)",Program.objcn);
com.Parameters.Add("MyImage",SqlDbType.Image);
com.Parameters["MyImage"].Value = imagebytes;
DataBase.DBState();
Program.objcn.Open();
com.ExecuteNonQuery();
DataBase.DBState();
MessageBox.Show("图片成功保存到数据库中!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}运行到红色的那行时出现下面的错误
文件“E:\图片\爱情跳动在26个字母之中\y.jpg”正由另一进程使用,因此该进程无法访问该文件。
fs.Close();
然后红色行之后的br.Close();
fs.Close();在最后关闭就行了;(其实不用它了之后就可以立刻关闭)。