如何用SQL语句实现图片的存储和读取?
我用的是SQL2005,现在有个问题,如何不用别的工具的前提下实现图片的插入和读取。跪求各位高手、大虾门指导~~注意:不是要通过只是存储一个图片地址那样的哦!...
我用的是SQL2005,现在有个问题,如何不用别的工具的前提下实现图片的插入和读取。
跪求各位高手、大虾门指导~~
注意:不是要通过只是存储一个图片地址那样的哦! 展开
跪求各位高手、大虾门指导~~
注意:不是要通过只是存储一个图片地址那样的哦! 展开
3个回答
展开全部
如:
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
//将控件htmlRichTextBox_imgText里面的内容全部当作图片存储
this.htmlRichTextBox_img.SaveFile(mstream, RichTextBoxStreamType.RichText);
//将流转换成数组
byte[] bWrite = mstream.ToArray();
jzdoc.Entities.s_sample obj = new s_sample();
...................................
obj.img1 = bWrite;
..............................................
jzdoc.dbsvr.Default.Save<s_sample>(obj);
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
//将控件htmlRichTextBox_imgText里面的内容全部当作图片存储
this.htmlRichTextBox_img.SaveFile(mstream, RichTextBoxStreamType.RichText);
//将流转换成数组
byte[] bWrite = mstream.ToArray();
jzdoc.Entities.s_sample obj = new s_sample();
...................................
obj.img1 = bWrite;
..............................................
jzdoc.dbsvr.Default.Save<s_sample>(obj);
更多追问追答
追问
这个是SQL的语句么?能否告知详细语句写法,我有点初`~~
追答
1.数据库表,要存储这个图片的字段类型设置为image;
2.下面给你的代码,你把oledb改成sql就可以存储到sql里面了(我这个是存储在access里面的)
-----------------------------------------------------------
System.IO.MemoryStream mstream = new System.IO.MemoryStream();
this.htmlRichTextBox1.SaveFile(mstream, RichTextBoxStreamType.RichText);
//将流转换成数组
byte[] bWrite = mstream.ToArray();
sql = String.Format("insert into ut_doc(titleid,accessory,docdesc) values(@titleid,@accessory,@docdesc)");
cmd = new OleDbCommand(sql, cn);
cmd.Transaction = tran;
OleDbParameter p01 = new OleDbParameter("@titleid", OleDbType.Integer);
p01.Value = titleid;
cmd.Parameters.Add(p01);
OleDbParameter p02 = new OleDbParameter("@accessory", OleDbType.Binary);
//将数组写入数据库
p02.Value = bWrite;
cmd.Parameters.Add(p02);
OleDbParameter p3 = new OleDbParameter("@docdesc", OleDbType.LongVarChar);
p3.Value = this.txt_tag.Text.Trim();
cmd.Parameters.Add(p3);
i = cmd.ExecuteNonQuery();
-------------------------------------------------------
3.需要说明的是:我是用这个htmlRichTextBox控件直接取得二进制流的,如果你用别的控件,需要注意获取方式的差异
展开全部
将图片转换成二进制,然后直接输入数据库就好了,读出来就通过流读出来。但是这样好慢的,建议你还是保存路径吧。而且会搞得数据库很大。
追问
如何将图片转换成二进制?我现在是要掌握这个方法,麻烦讲详细一点可以么?亲~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以存取图片的路径;
追问
关键是现在不叫我存取路径:(所以才头疼·····
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询