返回首页

我做的Windows应用程序,使用VB,C#。
我插入通过SQL查询数据库中的图像类型的图像。现在我想在PictureBox中显示..
这是可能的......
尝试发送编码或
提供参考网站...


卡莱.. ..

回答

评论会员:游客 时间:2012/02/07
使用nchar或varchar数据类型的数据库内的图像
乌玛・尚卡尔帕特尔:
您也可以尝试
评论会员:游客 时间:2012/02/07
爱德华・卢:不要使用从您的数据库服务器将占据大空间的图像字段到数据​​库中。为varchar,而不是改变它,并保存的文件名。,你可以从数据库中检索文件名和源图像使用它在您的图片框。如果您的问题,这个固定标记为答案最好的问候,爱德华|RaisKazi:在下面的文章看看{A2}
OriginalGriff
评论会员:游客 时间:2012/02/07
。1)检索从数据库中的图像数据,作为一个字节数组2)转换字节图像​​:codepreMemoryStreamms=spanclass="code-keyword"new/spanMemoryStream(bytes);ImagereturnImage=Image.FromStream(ms);/pre/code3)设置图片框的图片属性转换后的数据。{C}我想......但我得到了错误......引导我......下面我的代码codeprelang="c#"spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanForm1_Load(spanclass="code-keyword"object/spansender,EventArgse){cn.Open();cmd=newSqlCommand(spanclass="code-string""/spanspanclass="code-string"select*fromimgwhereid=6"/span,cn);cmd.Connection=cn;dr=cmd.ExecuteReader();spanclass="code-keyword"byte/spanbytes;spanclass="code-keyword"while/span(dr.Read()){spanclass="code-keyword"double/spandble=Convert.ToDouble(dr[spanclass="code-digit"2/span].ToString());bytes=Convert.ToByte(dble);MemoryStreamms=spanclass="code-keyword"new/spanMemoryStream(bytes);ImagereturnImage=Image.FromStream(ms);pictureBox1.Image=returnImage;}cn.Close();}/pre/code的不要检索的数据作为一个双-双是一个浮点数,占用8个字节。和图像(任何类型)将是比这更大!您需要检索一个字节,而不是一个字节数组,所以这样声明。此外,不使用循环-因为你只使用一个单一的行,你只需要一个if语句。顺便说一句:不要,你不打算使用从数据库中检索信息。在这种情况下,它不会作出显着性差异,但因为你是在表中存储的图像,如果你不打算使用它们,不要找回它们-它浪费带宽内存和减缓程序,可能显着根据您的SQL服务器。和从未使用与数据库的神奇数字!如果有人走来和转口的订单数据库中的列,你的代码将停止工作,你不知道为什么!{S0的}使用名称字段访问。并记住-你是负责清理好自己的!处置稀缺连接或使用using块:所以:{体C3}