procedure TForm4.CttMButton1Click(Sender: TObject);
var
Stream:TMemoryStream;
begin
try
Stream := TMemoryStream.Create; // 创建内存流
Image1.Picture.Graphic.SaveToStream(Stream); // 将图片保存到内存流中
Stream := Stream;
//Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);(另一种方法)
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert into BD_Photo values (:GUID,:sPhoto)');
ADOQuery1.Parameters.ParamByName('GUID').Value :='AB007A7A-00C2-4F4C-BB7F-1D746B17F09A';
ADOQuery1.Parameters.ParamByName('sPhoto').LoadFromStream(Stream,ftBlob); // sPhoto属性image
//读取保存的内存图
ADOQuery1.ExecSQL;
finally
Stream.Free; // 释放内存流
end;
end;这是我在网上找到的源码,但是我取Stream的值时是空值,而且在ADOQuery1.ExecSQL执行的时候报错‘对于造型说明无效的字符值’,我主要的目的是想把图片保存到SQL Server数据库中,但是现在还没有弄好,我不要保存路径的那种, 如果谁那边有源码请共享一下。读取保存的内存图
解决方案 »
- delphi中怎么实现ascii码转换成十六进制的程序呀?
- 关于线程中使用IDHTTP内存增大的问题
- excelapplication1打开Excel 出错(Access violation at address 00000000.Read of address 00000000)
- 关于图象校正
- 关于Beep()函数的使用
- 关于raize 3.0的问题
- 在d6中, toolbar 中toolbutton 的menuitem屬性與 mainmenu 連接過後, 為什麼mainmenu還會顯示在form上呀!
- 你是个名副其实的项目经理吗?
- 各位大侠小弟是刚毕业的,想知道做一个程序员应学什么语言
- WebAppDebuger必须运行吗?猛禽请进来看看。
- 求救啊~~~~~
- TEdit的Ctl3D属性
Stream := TMemoryStream.Create;
Jpg := TjpegImage.Create;
TBlobField(ADOQuery2.FieldByName('Picture')).SaveToStream(Stream);
Stream.Position := 0;
Jpg.LoadFromStream(Stream);
Image1.Picture.Assign(Jpg);
procedure TForm4.CttMButton1Click(Sender: TObject);
var
Stream:TMemoryStream;
begin
try
Stream := TMemoryStream.Create; // 创建内存流
Image1.Picture.Graphic.SaveToStream(Stream); // 将图片保存到内存流中
//Stream := Stream;
Stream.position := 0; //《==========
//Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);(另一种方法)
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert into BD_Photo values (:GUID,:sPhoto)');
ADOQuery1.Parameters.ParamByName('GUID').Value :='AB007A7A-00C2-4F4C-BB7F-1D746B17F09A';
ADOQuery1.Parameters.ParamByName('sPhoto').LoadFromStream(Stream,ftBlob); // sPhoto属性image
//读取保存的内存图
ADOQuery1.ExecSQL;
finally
Stream.Free; // 释放内存流
end;
end;