在添加时提示:project rs1.exe raised exception class einvalidgraphic with message 'bitmap image is not valid',process stopped.use step or run to continue.
前面有看过一份类是的帖子,有们大仙说是BLOB字段操作的问题,用了他提供的方法也不形呀,他的代码如下是:Table1.Open();
Table1.Edit();
TBlobField(Table1.FieldByName('照片')).LoadFromFile(filename);
Table1.Post();//错误提示是一样的.
我的数据库是ACCESS的照片字段属性是OLE对象.是不我的TABLE1.APPEND各TABLE1.EDIT的用法及先后有矛盾呀.procedure TForm2.N2Click(Sender: TObject);//保存数据
begin
//在RS表中添加员工信息.
with table1 do
begin
open;
前面有看过一份类是的帖子,有们大仙说是BLOB字段操作的问题,用了他提供的方法也不形呀,他的代码如下是:Table1.Open();
Table1.Edit();
TBlobField(Table1.FieldByName('照片')).LoadFromFile(filename);
Table1.Post();//错误提示是一样的.
我的数据库是ACCESS的照片字段属性是OLE对象.是不我的TABLE1.APPEND各TABLE1.EDIT的用法及先后有矛盾呀.procedure TForm2.N2Click(Sender: TObject);//保存数据
begin
//在RS表中添加员工信息.
with table1 do
begin
open;
解决方案 »
- TMemoryStream.Create返回总为空句柄为什么?
- 插入数据时出现不在”编辑和插入模式”的错误
- 比如一个TpageControl然后我想在dll中动态为exe中的TPageControl增加一个Ttabsheet 怎么做?
- 一小段代码,一周没有搞定了,哪位大侠帮忙看看,程序为什么在执行的时候出错呢?
- 问一个较菜的问题?
- 我在fastreport中怎么显示不了数据?(只有这么多分,解决以后一定多加分)
- 无穷的逻辑
- 求高速公路收费系统软件:分数可以商量(我一共有3685分)!!!
- 请问CreateParams有什么用?一定给分!
- ADO的问题
- 请教如何定位鼠标指针到一个批定位置?
- 不知道哪里有 dbisam 现成的例子?
procedure TForm2.N2Click(Sender: TObject);//保存数据
begin
//在RS表中添加员工信息.
with table1 do
begin
open;
append;
fieldbyname('应征职位').asstring:=edit1.text;
fieldbyname('员工编号').asinteger:=strtoint(edit2.text);
fieldbyname('任职部门').asstring:=edit67.text;
fieldbyname('现任职务').asstring:=edit68.text;
fieldbyname('登记日期').asdatetime:=datetimepicker1.date;
fieldbyname('是否在职').AsString:=combobox3.Text;
fieldbyname('员工姓名').asstring:=edit3.text;
fieldbyname('性别').AsString:=combobox1.text;
fieldbyname('出生年月').AsDateTime:=datetimepicker2.Date;
fieldbyname('籍贯').asstring:=edit7.Text;
fieldbyname('民族').AsString:=edit4.text;
fieldbyname('视力状况').asstring:=edit5.text;
fieldbyname('身高/cm').AsString:=edit6.Text;
fieldbyname('体重/kg').AsString:=edit8.Text;
fieldbyname('身份证号码').AsString:=edit9.Text;
fieldbyname('爱好及特长').AsString:=edit10.Text;
post;
close;
end;procedure TForm2.SpeedButton1Click(Sender: TObject); //打开并保存照片
var Picture1:Tpicture;
begin
Picture1:=TPicture.Create;
If OpenPictureDialog1.Execute Then
begin
table1.open;
TABLE1.EDIT;
Picture1.LoadFromFile(OpenPictureDialog1.FileName); //导入照片
TABLE1.FieldByName('图片').Assign(Picture1);
table1.post;
end;
FParam: TParameter;
ImageStream: TStream;
begin
ADOQuery1.SQL.Text := 'Insert Into [Table] Values ( :Image)';
FParam := ADOQuery1.Parameters.FindParam('Image');
if Assigned(FParam) then
begin
ImageStream := TFileStream.Create('E:\My Document\My Pictures\200421495936.jpg', fmOpenRead);
try
FParam.LoadFromStream(ImageStream, ftBlob);
ADOQuery1.ExecSQL;
finally
ImageStream.Free;
end;
end;
end;
jpg1:TJpegImage;
bmp1:=TBitmap.Create;
jpg1:=TJpegImage.Create;
try
jpg1.LoadFromFile(OpenPictureDialog1.FileName);
bmp1.Assign(jpg1);
dbImage2.Picture.Bitmap.Assign(bmp1);
finally
jpg1.Free;
bmp1.Free;
end;然后把你上面的增加代码
FieldByName('htnr').Assign(Image2.Picture);
写在增加的 里面就可以了
msmem:TmemoryStream;
jpg:TJpegImage;
begin
if cxImage1.Picture.graphic<>nil then
begin
msmem:=TmemoryStream.Create;
Jpg:=TjpegImage.Create;
jpg.Assign(cxImage1.Picture.Graphic);
jpg.SaveToStream(msmem) ; // 1
msmem.Position :=0;
TBlobField(FieldByName('图片')).LoadFromStream(msmem);
Msmem.Free ;
jpg.Free;
end;
end;读
procedure TF_hw_cp.DBGridEh1CellClick(Column: TColumnEh);
var
ms:TStringStream;
Jpg:TJpegImage;
begin
if ADQ_BM_PM.FieldByName('图片').AsString<>'' then
begin
ms:=TstringStream.Create('');
Jpg:=TJpegImage.Create;
TBlobField(ADQ_BM_PM.FieldByName('图片')).SaveToStream(ms);
jpg.LoadFromStream(ms);
ms.Position :=0;
Jpg.LoadFromStream(ms); cxImage1.Picture.Assign(jpg); cxImage1.Visible:=true;
end else
cxImage1.Picture:=nil;end;