如何用SQL语句实现图片的存储和读取?

我用的是SQL2005,现在有个问题,如何不用别的工具的前提下实现图片的插入和读取。跪求各位高手、大虾门指导~~注意:不是要通过只是存储一个图片地址那样的哦!... 我用的是SQL2005,现在有个问题,如何不用别的工具的前提下实现图片的插入和读取。
跪求各位高手、大虾门指导~~
注意:不是要通过只是存储一个图片地址那样的哦!
展开
 我来答
coder_tmp
2012-05-09 · TA获得超过443个赞
知道小有建树答主
回答量:547
采纳率:100%
帮助的人:353万
展开全部
如:
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控件直接取得二进制流的,如果你用别的控件,需要注意获取方式的差异
老彭的游戏
2012-05-08 · TA获得超过123个赞
知道小有建树答主
回答量:218
采纳率:0%
帮助的人:111万
展开全部
将图片转换成二进制,然后直接输入数据库就好了,读出来就通过流读出来。但是这样好慢的,建议你还是保存路径吧。而且会搞得数据库很大。
追问
如何将图片转换成二进制?我现在是要掌握这个方法,麻烦讲详细一点可以么?亲~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liguangwen91
2012-05-10 · TA获得超过131个赞
知道小有建树答主
回答量:239
采纳率:75%
帮助的人:51.9万
展开全部
可以存取图片的路径;
追问
关键是现在不叫我存取路径:(所以才头疼·····
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式