dbgrid的问题

zhaozheng821018 2008-09-15 10:54:55
我在做数据查询是使用了两个ADOQuery,都配置正确,单纯的要查数据都是可以的,但是要动态的显示数据如下代码:
//barcode:=ADOQuery2.FieldByName('barcode').AsString;
ADOQuery1.SQL.Clear;
//Showmessage(ADOQuery2.FieldByName('barcode').AsString);
ADOQuery1.SQL.Add('select b.barcode,nvl(b.jarmark,''nul'') as jarmark,b.netlength,b.grosslength,b.width,c.component,c.compositiondescription,b.FLAWNUMBER ');
ADOQuery1.SQL.Add(' from chk_barcodeinfo b,scd_productartinfo c ');
ADOQuery1.SQL.Add(' where b.productid=c.productid and b.barcode='''+ADOQuery2.FieldByName('barcode').AsString+'''');
ADOQuery1.Active:=true;
//Showmessage(ADOQuery1.SQL.Text);
ADOQuery1.Open;
Edit1.text:= ADOQuery1.SQL.Text;
// Showmessage(barcode);
Showmessage(ADOQuery1.FieldByName('barcode').AsString);
结果show出来的是空,不知道为什么
...全文
56 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ziyouyu11 2008-09-17
  • 打赏
  • 举报
回复
b.barcode like ''%'+ADOQuery2.FieldByName('barcode').AsString+'%''');
这句话是起什么作用的呢
rcaicc 2008-09-15
  • 打赏
  • 举报
回复
open 和 active 写一个就可以了
sql语句的问题.再有可能就是barcode字段类型不对
panrongzeng 2008-09-15
  • 打赏
  • 举报
回复
ADOQuery1先close再操作
至于没有数据,你再看看ADOQuery2.FieldByName('barcode').AsString是不是空的,或者值对不对
zhaozheng821018 2008-09-15
  • 打赏
  • 举报
回复
补充,ADOQuery1.SQL.Text的内容单独拿出来运行是可以查询到数据的
zhaozheng821018 2008-09-15
  • 打赏
  • 举报
回复
我试着改成如下
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select b.barcode,nvl(b.jarmark,''nul'') as jarmark,b.netlength,b.grosslength,b.width,c.component,c.compositiondescription,b.FLAWNUMBER ');
ADOQuery1.SQL.Add(' from chk_barcodeinfo b,scd_productartinfo c ');
ADOQuery1.SQL.Add(' where b.productid=c.productid and b.barcode like ''%'+ADOQuery2.FieldByName('barcode').AsString+'%''');
ADOQuery1.Open;
这里ADOQuery2是从access中查询出来的,255的文本,内容是正确的,但是在最终显示的时候,只是第一个barcode下的内容能显示了,之后的又都不行了。



要郁闷死了!!!!!!

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧