delphi image图片如何插入到数据库

delphi image图片如何插入到数据库,第1张

procedure TForm1Button1Click(Sender: TObject);

var Conn:TAdoConnection;

strm:TStream;

qry:TAdoQuery;

begin

strm:=TMemoryStreamCreate;

image1PictureBitmapSaveToStream(strm);

conn:=TAdoConnectionCreate(nil);

connConnectionString:='provider=MicrosoftJetOleDB40;Data Source=d:\amdb';

connLoginPrompt:=false;

connOpen;

qry:=TAdoQueryCreate(nil);

qrySQLText := 'insert into test(pic) values (:pic)';

qryConnection :=conn;

qryParametersParseSQL(qrySQLText ,true);

qryParametersParamByName('pic')LoadFromStream(strm,ftBlob);

qryExecSQL;

connClose;

connFree;

qryFree;

strmFree;

end;

procedure TForm1Button2Click(Sender: TObject);

var Conn:TAdoConnection;

strm:TStream;

qry:TAdoQuery;

begin

conn:=TAdoConnectionCreate(nil);

connConnectionString:='provider=MicrosoftJetOleDB40;Data Source=d:\amdb';

connLoginPrompt:=false;

connOpen;

qry:=TAdoQueryCreate(nil);

qrySQLText := 'select pic from test';

qryConnection :=conn;

qryOpen ;

strm:=qryCreateBlobStream(qryFieldByName('pic'),bmRead);

image2PictureBitmapLoadFromStream(strm);

qryClose;

connClose;

connFree;

qryFree;

strmFree;

end;

procedure TForm1FormShow(Sender: TObject);

var jpg:TJpegImage;

bmp:TBitMap;

begin

jpg:=TJpegImageCreate;

bmp:=TBitMapCreate;

jpgLoadFromFile('C:\Users\Administrator\Pictures\psujpg');

bmpAssign(jpg);

image1PictureBitmap:=bmp;

end;

另一个数据库也要是image的类型,然后在数据库的安全的连接吧好像是,添加另一个服务器的链接方式。然后就能在这个服务器 *** 作另一台服务器的数据库了。调用方式:[19216812]dbnamedbotablename

如果非要写sql语句如下,要将image转化为二进制

INSERT INTO tbl VALUES (1,0xFFFFFFFF)

注意在写入图形信息前必须先将此数据库的 'select into/bulkcopy' 属性设置为 True ,其语法如下:

use master

exec sp_dboption Im_Test ,'select into/bulkcopy' ,True

public void InsertIMG()

{

//将需要存储的读取为数据流

FileStream fs = new FileStream(@"D:\ajpg", FileModeOpen,FileAccessRead);

Byte[] b = new byte[fsLength];

fsRead(b , 0, ConvertToInt32(fsLength));

fsClose();

using (SqlConnection conn = new SqlConnection(sqlconnstr))

{

connOpen();

SqlCommand cmd = new SqlCommand();

cmdConnection = conn;

cmdCommandText = "insert into tbl(imgfile) values(@imgfile)";

SqlParameter par = new SqlParameter("@imgfile", SqlDbTypeImage);

parValue = b;

cmdParametersAdd(par);

int t=(int)(cmdExecuteNonQuery());

if (t > 0)

{

ConsoleWriteLine("插入成功");

}

connClose();

}

}

你的思路就错了,你不管用什么SSH,还是SH,还是struts20,还是JSP,等。不管用什么语言,或开发技术,

你不是插入的images类型的数据, 而是你插入的是 images的路径,insert到数据库当中的某个栏位上,另一个栏位 再存放它的images的名字。

就是二进制数据。

在数据库中创建一个Image类型的字段(二进制)

把文件的内容读到字节数组中,然后把字节数组保存到Image字段里。

从Image字段里读取出二进制数据,保存到一个字节数组中,然后写到文件或者流里再显示出来。

以上就是关于delphi image图片如何插入到数据库全部的内容,包括:delphi image图片如何插入到数据库、SQL 中如何将一个服务器里的数据库的IMAGE类型的数据插入到另一个服务器上的数据库里面、如何用insert语句把插入image类型记录到数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9638614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存