SQL数据库图片存取问题(简单) 我找这个很久了 我希望一个完整的程序 有存和取图片这两个功能就可以了 我在网上找的都实现不了 用ADO和SQL2000 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实现不了?那就把你找到的代码贴上来你可以使用TBlobField来实现图片的存取 这是我存图片的代码 报错 帮我看看这个可以存哪些格式的图片unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, StdCtrls, Buttons, jpeg, ExtCtrls, DB, ADODB;type TForm1 = class(TForm) DBGrid1: TDBGrid; ADOConnection1: TADOConnection; Image1: TImage; BitBtn1: TBitBtn; ADOQuery1: TADOQuery; procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);var Ms:TmemoryStream;jpg:Tjpegimage;beginms:=TmemoryStream.Create;Jpg.Assign(Image1.Picture.Graphic); // 说这个没有初始化 是不是不能用JPG格式Jpg.SaveToStream(Ms) ;Ms.Position :=0;ADOquery1.append;TBlobField(ADOquery1.FieldByName('img')).LoadFromStream(Ms);ADOquery1.Post;Ms.Free ;jpg.free;end;end. Jpg.Assign(Image1.Picture.Graphic); // 说这个没有初始化 是不是不能用JPG格式我晕,你这里肯定会报告错误的啊,你前面的JPG连创建都没有创建,你得用Jpg := TJpgegImage.create;先创建啊你可以使用那个DBImage啊,可以直接向数据库存取和读取图片(不过要使他支持JPeg格式的话,要修改一下他的源代码,如果要的话,可以找我) procedure TForm1.BitBtn1Click(Sender: TObject);var Ms:TmemoryStream;jpg:Tjpegimage;beginms:=TmemoryStream.Create;//Jpg.Assign(Image1.Picture.Graphic); // 说这个没有初始化 是不是不能用JPG格式//Jpg.SaveToStream(Ms) ;Image1.Picture.Graphic.SaveToStream(ms);Ms.Position :=0;ADOquery1.append;TBlobField(ADOquery1.FieldByName('img')).LoadFromStream(Ms);ADOquery1.Post;Ms.Free ;//jpg.free;end;这样试试end. 未测试create table t(cimg image);begin with adodataset do begin close; commandtext:='select * from t'; open; append; TBlobField(adodataset.FieldByName('cimg')).LoadFromFile('C:\1.bmp'); post; end;end; idtcpserver的最大连接数在程序中怎么控制? 更新问题 delphi2006中窗体文件中多了ExplicitTop,ExplicitLeft,这是做什么用的? 用这个控件TrayIcon,最小化到任务栏后,如何恢复窗体显示啊 Filter退出查询问题 怎么样获得数据库的逻辑名称? integer(阿诗克玛) 怎么转换成 字母字符? Application.Initialize;什么意思? 万能数据平台(包括万能查询、万能统计、万能报表、数据表生成、数据录入)已发布! 关于各版本的兼容 ### 小图片中画字的问题 Delphi判断linux服务器down机
你可以使用TBlobField来实现图片的存取
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, jpeg, ExtCtrls, DB, ADODB;type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
Image1: TImage;
BitBtn1: TBitBtn;
ADOQuery1: TADOQuery;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.BitBtn1Click(Sender: TObject);
var
Ms:TmemoryStream;
jpg:Tjpegimage;
begin
ms:=TmemoryStream.Create;
Jpg.Assign(Image1.Picture.Graphic); // 说这个没有初始化 是不是不能用JPG格式
Jpg.SaveToStream(Ms) ;
Ms.Position :=0;
ADOquery1.append;
TBlobField(ADOquery1.FieldByName('img')).LoadFromStream(Ms);
ADOquery1.Post;
Ms.Free ;
jpg.free;
end;end.
我晕,你这里肯定会报告错误的啊,你前面的JPG连创建都没有创建,你得用
Jpg := TJpgegImage.create;先创建啊你可以使用那个DBImage啊,可以直接向数据库存取和读取图片(不过要使他支持JPeg格式的话,要修改一下他的源代码,如果要的话,可以找我)
var
Ms:TmemoryStream;
jpg:Tjpegimage;
begin
ms:=TmemoryStream.Create;
//Jpg.Assign(Image1.Picture.Graphic); // 说这个没有初始化 是不是不能用JPG格式
//Jpg.SaveToStream(Ms) ;
Image1.Picture.Graphic.SaveToStream(ms);
Ms.Position :=0;
ADOquery1.append;
TBlobField(ADOquery1.FieldByName('img')).LoadFromStream(Ms);
ADOquery1.Post;
Ms.Free ;
//jpg.free;
end;
这样试试end.
create table t(cimg image);
begin
with adodataset do
begin
close;
commandtext:='select * from t';
open;
append;
TBlobField(adodataset.FieldByName('cimg')).LoadFromFile('C:\1.bmp');
post;
end;
end;