我用dbgrid显示adoquery所查询到的内容,由于表中有JPEG格式的图片字段,其他字段用DBEDIT显示,而图片通过程序控制,问题是我想实现点击某个记录,就显示该记录的图片字段,但是老提示“未发现‘序号’字段”,到底怎么回事呢?我的代码如下:
pro_info.ADOConnection1.Open;
with pro_info.ADOQuery1 do
begin
close;
sql.clear;
if trim(edit15.Text)<>'' then sql.add('select * from product where 产品编号 like '''+'%'+edit15.text+'%''');
if trim(edit16.Text)<>'' then sql.add('select * from product where 产品名 like '''+'%'+edit16.text+'%''');
open;
end;
datasource1.DataSet:=pro_info.ADOQuery1;if (combobox1.Text='产品信息') and (dbgrid1.DataSource.DataSet.RecordCount>0) then
begin
no:=dbgrid1.DataSource.DataSet.fieldbyname('序号').value;//dataset连接adoquery1
all_query.getpicture(pro_info.ADOQuery1);//getpicture是我自定义的过程,已经测试过,没
问题。
end;
pro_info.ADOConnection1.Open;
with pro_info.ADOQuery1 do
begin
close;
sql.clear;
if trim(edit15.Text)<>'' then sql.add('select * from product where 产品编号 like '''+'%'+edit15.text+'%''');
if trim(edit16.Text)<>'' then sql.add('select * from product where 产品名 like '''+'%'+edit16.text+'%''');
open;
end;
datasource1.DataSet:=pro_info.ADOQuery1;if (combobox1.Text='产品信息') and (dbgrid1.DataSource.DataSet.RecordCount>0) then
begin
no:=dbgrid1.DataSource.DataSet.fieldbyname('序号').value;//dataset连接adoquery1
all_query.getpicture(pro_info.ADOQuery1);//getpicture是我自定义的过程,已经测试过,没
问题。
end;
解决方案 »
- 求助!菜单中英文切换时怎样写代码?或用到什么组件?急
- DBChart横轴如何添加日期数据?
- 郁闷散分!!!
- 我用WinExec(PChar('ipconfig /all > E:\1.txt'), SW_HIDE), 为什么无法生成文件?
- 我问一下,存储过程只有在sqlserve里有吗
- 在DBGrid中,更改选中行所触发的事件是哪个啊?
- 如何在TBDEClientDataset的CommandText的Where子句中处理Access的日期时间型字段的比较?
- 简单问题
- 有什么程序要发布的,MAIL给我
- 请问怎么使程序运行过程中将delete键屏蔽,使之无效
- 求助~!
- asp组件连接oracle 的奇怪问题:ora-00020 maximum number of processes 重金求助
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
Bmp: TBitmap;
begin
if Column.Field = Table1IMAGE then
begin
try
Bmp := TBitmap.Create;
Bmp.Assign(Table1IMAGE);
DBGrid1.Canvas.StretchDraw(Rect,Bmp);
finally
Bmp.Free;
end;
end ;
end;
Delphi入门到精通书上有例子
var
ms:TStringStream;
Jpg:TJpegImage;
begin
with Jiben_Query do
begin
close;
sql.Clear;
sql.Add('select * from jiben where Numb='''+F_jibenCX.XueHao+'''');
open;
if FieldByName('图片').AsString<>'' then//判断图片字段是否有图片
begin
ms:=TstringStream.Create('');
Jpg:=TJpegImage.Create;
try
TBlobField(FieldByName('图片')).SaveToStream(ms);
Ms.Position :=0;
Jpg.LoadFromStream(Ms);
Image1.Picture.Assign(Jpg);
Jpg.Free;
Ms.Free;
except
Jpg.Free;
Ms.Free;
end;
end;