关于网友提出的“mssqlserver.jar 请教一下如何在mssql中二进制储存图片”问题疑问,本网通过在网上对“mssqlserver.jar 请教一下如何在mssql中二进制储存图片”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:mssqlserver.jar 请教一下如何在mssql中二进制储存图片
描述:本帖最后由 oLaoJiu 于 2014-03-30 20:57:18 编辑
二进制
从网上找了一段代码 每次储存一张图片的时候是正确的
FileStream fs = new FileStream(txt_图片路径.Text, FileMode.Open);
byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));
fs.Close();
//打开数据库
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=xxxxx;database=减速机内容管理系统");
con.Open();
SqlCommand com = new SqlCommand("insert into 图片列表 values(@ImageList,'','')Select @@identity", con);
com.Parameters.Add("ImageList", SqlDbType.Image);
com.Parameters["ImageList"].Value = imagebytes;
int Gid = Convert.ToInt32(com.ExecuteScalar());
con.Close();
lab_图片存入提示.Text = "存入提示:储存成功,ID:" + Gid;
后来我改了一下 需要一次储存7张图片,但是储存到数据库中的图片长度是错误的,麻烦大侠帮忙看下是哪里的问题,万分感谢,找了一天也没有找到问题
下面是一次储存多张的代码(中间删除了重复的代码)
//装配型式
FileStream fs装配型式 = new FileStream(txt_装配型式图片路径.Text, FileMode.Open);
byte[] imagebytes装配型式 = new byte[fs装配型式.Length];
BinaryReader br装配型式 = new BinaryReader(fs装配型式);
imagebytes装配型式 = br装配型式.ReadBytes(Convert.ToInt32(fs装配型式.Length));
fs装配型式.Close();
//选型标记
FileStream fs选型标记 = new FileStream(txt_选型标记图片路径.Text, FileMode.Open);
byte[] imagebytes选型标记 = new byte[fs选型标记.Length];
BinaryReader br选型标记 = new BinaryReader(fs选型标记);
imagebytes选型标记 = br选型标记.ReadBytes(Convert.ToInt32(fs选型标记.Length));
fs选型标记.Close();
//打开数据库
SqlConnection con = new SqlConnection("server=(local);uid=sa;pwd=600toidc;database=减速机内容管理系统");
con.Open();
SqlCommand com = new SqlCommand("insert into [产品系列_产品内容] values('@系列id','@系列大图','@产品介绍','@产品装配型式图','@选型标记图','@产品图片','@外形尺寸图','@外型尺寸列表图','@相关技术资料','@技术参数适用范围图','@技术参数选用方法图','@厂家介绍')Select @@identity", con);//
//系列大图
com.Parameters.Add("系列大图", SqlDbType.Image);
com.Parameters["系列大图"].Value = imagebytes系列大图;
//产品装配型式图
com.Parameters.Add("产品装配型式图", SqlDbType.Image);
com.Parameters["产品装配型式图"].Value = imagebytes装配型式;
int Gid = Convert.ToInt32(com.ExecuteScalar());
con.Close();
lab_产品内容信息保存提示.Text = "存入提示:产品内容信息储存成功,内容ID:" + Gid;
解决方案1: http://bbs.csdn.net/topics/300231845
文件长度有限制,建议你一个字段一个字段插。先插入,再修改来插入。
以上介绍了“mssqlserver.jar 请教一下如何在mssql中二进制储存图片”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1682370.html