
<php
$pic=array();//实例1,数组存储
$pic2='';//实例2,变量存储
while ($rows=mysql_fetch_assoc($rs))
{
$pic[] = $rows["jj_yulan"];//存进数组
$pic2 = "<img alt='' src='{$row[jj_yulan]}' />"; //存进变量,注意 是连接符
}
//输出
print_r($pic);
echo $pic2;
>
procedure TSqlHelpWritePic(AResenderMark,AItem:string;AItemValue:TStream);
begin
if (AResenderMark='') or (AItem='') then exit;
try
if not m_ConnectionConnected then m_ConnectionConnected:=True;
m_ConnectionBeginTrans;
//showmessage(m_ConnectionConnectionString);
with m_QryWork do
begin
Close;
SqlClear;
SqlAdd('select from zxx_sqlhelperData where ResenderMark=:ResenderMark and Item=:Item');
ParametersParamByName('ResenderMark')Value:=AResenderMark;
ParametersParamByName('Item')Value:=AItem;
Open;
if RecordCount=0 then
begin
append;
FieldByname('ResenderMark')AsString:=AResenderMark;
FieldByName('Item')AsString:=AItem;
TBlobField(FieldByName('ValuePic'))LoadFromStream(AItemValue);
Post;
end
else
begin
Edit;
TBlobField(FieldByName('ValuePic'))Clear;
Post;
Edit;
TBlobField(FieldByName('ValuePic'))LoadFromStream(AItemValue);
Post;
end
end;
m_ConnectionCommitTrans;
except
on e:Exception do
begin
m_ConnectionRollbackTrans;
//如果发现是线程问题比如到了最大连接数则可递归保存
//if pos('',eMessage)>0 then
//begin
// sleep(300);
// WriteData(AResenderMark,AItem,AItemValue);
// exit;
//end;
messagebox(ApplicationMainFormHandle,pchar(eMessage),PAnsiChar(AResenderMark+'提示信息'),MB_OK or MB_ICONWARNING);
end;
end;
end;
第一步://获取当前选择的thispictureBox1Image = ImageFromStream(thisopenFileDialog1OpenFile());//获取当前的路径string path = openFileDialog1FileNameToString();//将制定路径的添加到FileStream类中FileStream fs = new FileStream(path, FileModeOpen, FileAccessRead);//通过FileStream对象实例化BinaryReader对象BinaryReader br = new BinaryReader(fs);//通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组byte[] imgBytesIn = brReadBytes(ConvertToInt32(fsLength));第二步://将添加到数据库中string sql="insert into pic values(@pic)";SqlParameter[] param = new SqlParameter[] { new SqlParameter("@pic", imgBytesIn) };DBHelperGetExecuteQuery(sql, param);第三步://将从数据库中取出string sql="select from pic where id=0";SqlDataReader reader = DBHelperGetExecuteReader(sql, null);MemoryStream mss = null;
网上流传的代码是有错误的,修改记录时,不选择时,会发生异常!
以下为正确处理代码:
一、保存至数据库
byte[]
bytes
=
sdr[14]
is
DBNull
null
:
sdrGetSqlBinary(14)Value;
if
(bytes
==
null
||
bytesLength
==
0)
{
bookBooksImage
=
null;
}
else
{
MemoryStream
ms
=
new
MemoryStream(bytes);
bookBooksImage
=
ImageFromStream(ms);
msClose();
}
二、保存至数据库
byte[]
bytes=null;
if(bookBooksImage!=null)
{
bookBooksImageSave("tempdat");
FileStream
fs=new
FileStream("tempdat",FileModeOpen);
bytes=new
byte[fsLength];
fsRead(bytes,0,bytesLength);
fsClose();
}
sp[13]=new
SqlParameter("@BookImage",bytes);
i
=
DBHelperExecuteNonQuery(INSERT,
CommandTypeText,
sp);
三、窗口修改时,需要注意的地方(其它信息修改,未改会报错):
if
(picBookImage
!=
null)
{
Bitmap
img
=
new
Bitmap(picBookImageWidth,
picBookImageHeight);
Graphics
g
=
GraphicsFromImage(img);
gDrawImage(picBookImage,
new
Point(0,
0));
imgSave("adat");
FileStream
fs
=
new
FileStream("adat",FileModeOpen);
byte[]
bs
=
new
byte[fsLength];
fsRead(bs,
0,
bsLength);
bBookImage
=
ImageFromStream(fs);
fsClose();
}
if opendialog1Execute then
begin
ADOQuery1Close;
ADOQuery1SQLText:='select pic from text where ccc = ''' + trim(Edit1Text) +'''';
ADOQuery1open;
(ADOQuery1Fields[0] as TBlobField)SaveToFile('d:\\photo\\aaa,jpg');
以上就是关于php如何从数据库中读取多张图片的路径全部的内容,包括:php如何从数据库中读取多张图片的路径、Delphi求将image中的图片保存到数据库中代码、如何将图片插入到数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)