鱼C论坛

 找回密码
 立即注册
查看: 2389|回复: 4

请问如何把图片上传到SQL SERVER 数据库

[复制链接]
发表于 2016-10-14 10:03:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问如何把图片上传到SQL SERVER 数据库???? 并可以浏览?初学DELPHI,现又需实现该功能,大神们帮帮忙,如有源码列子最好。先谢谢大家了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-10-18 20:40:16 | 显示全部楼层
帮顶一下吧 这个似乎很有用 不过 图片 要存到 sql里面???
感觉这个想法有点 不那么有趣 你调用不就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-18 20:42:46 | 显示全部楼层
第一步:
//获取当前选择的图片 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.photo.PostedFile.SaveAs(path + "名字.格式");
然后把路径存入数据库
如果存那种image格式放入数据库,图片多的时候就会给数据库造成负担。

以上文字是我抄来的 不是很明白
但我还是觉得你没有必要把图片存到sql里面去吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-20 14:02:36 | 显示全部楼层
同意二楼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-31 10:35:09 | 显示全部楼层
谢谢二楼,已解决。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 10:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表