怎样将图片读为二进制文件存入Access数据库?
解决方案 »
- 紧急求助,50分相送!
- 如何显示rgb数据
- 问个麻烦的问题
- WPF怎样绑定一个从ObservableCollection<T>继承的集合对象?
- 菜鸟300问之一:数组-------------在线等答案
- 请问如何改变tabControl的背景?
- 只有一个form1窗体我的"关闭"按钮怎么关不掉窗体啊
- 小弟急事跪求各位大侠帮忙,请进来,在线等~
- 我的问题怎么没人看啊,帮忙看看嘛
- 我用 dataSet11.Tables["pets"].Rows[dataGrid1.CurrentRowIndex].Delete();删除记录,可是出现删除行出错,总是删除别的行,有的时候删
- 从数据库里读取二进制文件 急~~~~~~!!
- 如何访问远程的ACCESS数据库?
{
//得到提交的文件
Stream fileDataStream = this.txtSiteLogo.PostedFile.InputStream;
//得到文件大小
int fileLength = this.txtSiteLogo.PostedFile.ContentLength;
//创建数组
byte[] fileData= new byte[fileLength]; fileDataStream.Read(fileData,0,fileLength); return fileData;
}
//图片保存/读取支持
//ImageToByte(Image img) 将图片转换成二进制代码,然后存储数据库中
public static byte[] ImageToByte(Image img)
{
byte[] byt = null;
ImageConverter imgCvt = new ImageConverter();
object obj = imgCvt.ConvertTo(img, typeof(byte[]));
byt = (byte[])obj;
return byt;
} //ByteToImage(byte[] byt)读取数据库中的二进制文件将其转换为Image
public static Image ByteToImage(byte[] bytImage)
{
Image img = null;
ImageConverter imgCvt = new ImageConverter(); object obj = imgCvt.ConvertFrom(bytImage);
img = (Image)obj;
return img;
} //插入参数
comm.Parameters.Add("@GdsPhoto", SqlDbType.Image);
comm.Parameters["@GdsPhoto"].Value = byt;
这个传到SQL中的,改一下就OK了.
{
OpenFileDialog of=new OpenFileDialog();
FileStream fs;
of.Filter="Picture Files(*.jpg)|*.jpg|Bmp(*.bmp)|*.bmp|All Files(*.*)|*.*";
if(of.ShowDialog()==DialogResult.OK&&of.FileName!="")
{
fs=new FileStream(of.FileName,FileMode.Open,FileAccess.Read);
byte[] btyPic=new byte[(int)fs.Length];
fs.Read(btyPic,0,btyPic.Length);
try
{
this.ptbImage.SizeMode=PictureBoxSizeMode.Normal;
this.ptbImage.Image=Image.FromFile(of.FileName);
}
catch(Exception ImageExp)
{
MessageBox.Show(ImageExp.Message);
}
fs.Close();
System.Data.SqlClient.SqlCommand sqlUpdateCommand11=new System.Data.SqlClient.SqlCommand();
sqlUpdateCommand11.Connection = this.sqlCon;
sqlUpdateCommand11.CommandText = "Update JBDA set zp=@zp where zgbh=@zgbh";
sqlUpdateCommand11.Parameters.Add(new System.Data.SqlClient.SqlParameter("@zgbh", System.Data.SqlDbType.VarChar, 50, "zgbh"));
sqlUpdateCommand11.Parameters["@zgbh"].Value=this.txtzgbh.Text;
sqlUpdateCommand11.Parameters.Add(new System.Data.SqlClient.SqlParameter("@zp", System.Data.SqlDbType.Image,16, "zp"));
sqlUpdateCommand11.Parameters["@zp"].Value=btyPic;
try{sqlUpdateCommand11.ExecuteNonQuery();}
catch(Exception exp)
{MessageBox.Show(exp.Message);}
this.sqljbda.Update(this.dsResult,"JBDA");
this.dsResult.Clear();
this.sqljbda.Fill(this.dsResult,"JBDA");
//sqlUpdateCommand11.Connection.Close();
MessageBox.Show("图片插入成功");
}
}