SqlServer中的image要怎么插入?
2个回答
2013-07-23
展开全部
第一步:
//获取当前选择的图片 this.pictureBox1.Image = Image.FromStream(this.openFileDialog1.OpenFile()); //获取当前图片的路径 string path = openFileDialog1.FileName.ToString(); //将制定路径的图片添加到FileStream类中 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //通过FileStream对象实例化BinaryReader对象 BinaryReader br = new BinaryReader(fs); //通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组 byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));
第二步: //将图片添加到数据库中 string sql="insert into pic values(@pic)"; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@pic", imgBytesIn) }; DBHelper.GetExecuteQuery(sql, param);
第三步: //将图片从数据库中取出 string sql="select * from pic where id=0"; SqlDataReader reader = DBHelper.GetExecuteReader(sql, null); MemoryStream mss = null; if (reader.Read()) { byte[] bytes = (byte[])reader["pic"]; mss = new MemoryStream(bytes); }
this.pictureBox2.Image = Image.FromStream(mss);
//获取当前选择的图片 this.pictureBox1.Image = Image.FromStream(this.openFileDialog1.OpenFile()); //获取当前图片的路径 string path = openFileDialog1.FileName.ToString(); //将制定路径的图片添加到FileStream类中 FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read); //通过FileStream对象实例化BinaryReader对象 BinaryReader br = new BinaryReader(fs); //通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组 byte[] imgBytesIn = br.ReadBytes(Convert.ToInt32(fs.Length));
第二步: //将图片添加到数据库中 string sql="insert into pic values(@pic)"; SqlParameter[] param = new SqlParameter[] { new SqlParameter("@pic", imgBytesIn) }; DBHelper.GetExecuteQuery(sql, param);
第三步: //将图片从数据库中取出 string sql="select * from pic where id=0"; SqlDataReader reader = DBHelper.GetExecuteReader(sql, null); MemoryStream mss = null; if (reader.Read()) { byte[] bytes = (byte[])reader["pic"]; mss = new MemoryStream(bytes); }
this.pictureBox2.Image = Image.FromStream(mss);
2013-07-23
展开全部
System.IO.Stream streamFile=(@ "D:\windows temp\temp\1.jpg ",FileMode.Open ,FileAccess.Read );//建立数据流对象
int fileLength=?;//你所要读取文件的长度以字节为单位byte[] fileData=new Byte[fileLength];//新建一个数组 streamFile.Read(fileData,0,fileLength);//将这个数据流读取到数组中 string sql="insert into download(fileName,filePath,fileData,fileType) values('"+fileName+"','"+serverPath+"','"+fileData+"','"+fileType+"')";以上是最重要的几步,其余的就看你项目中怎么实际运用了。
int fileLength=?;//你所要读取文件的长度以字节为单位byte[] fileData=new Byte[fileLength];//新建一个数组 streamFile.Read(fileData,0,fileLength);//将这个数据流读取到数组中 string sql="insert into download(fileName,filePath,fileData,fileType) values('"+fileName+"','"+serverPath+"','"+fileData+"','"+fileType+"')";以上是最重要的几步,其余的就看你项目中怎么实际运用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询