起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 133|回复: 4

【结】关于QUERY问题**

[复制链接]
发表于 2008-5-22 11:28:38 | 显示全部楼层 |阅读模式
var
  lQuery: TQuery;
  lStr1,lStr2,lStr3,ldept,ltime,lDBURL : String;
begin
    try
lDBURL:='DATABASEURL=Biz:\HGOPERATION\HGOPERATIONDB.DATABASE';
     ldept:=TContextUtils.GetDept(context).DisplayName;
     ltime:=SysUtils.DateToStr(syssrv.SysService.Time);
     lStr1:=ldept.Substring(0,2);
     lStr2:=ltime.Substring(2,2);
     lQuery := TQuery.Create(nil);
     lQuery.ConnectionString := lDBURL;
lQuery.CommandText :=
                          'select * from QMINFOTABLE where '+
                          'ReportSerialNo like ''%''+lStr1+''%'' ';  
     
     lQuery.Open;
     lStr3:='00'+SysUtils.IntToStr(lQuery.RecordCount+1);
     dsbMaster.DataSet.edit;
     dsbMaster.DataSet.FieldByName('ReportSerialNo').Asstring :=lStr2+lStr1+lStr3 ;
    finally
     lQuery.Free;
    end;

以上代码编译通过, 在执行的过程中读过红色的一行时就报错
列名:lStr1 无效
这是怎么回事?
回复

使用道具 举报

 楼主| 发表于 2008-5-22 11:31:31 | 显示全部楼层
补充一下 调试显示 lStr1字符串是有正确值的
回复 支持 反对

使用道具 举报

发表于 2008-5-22 11:54:41 | 显示全部楼层
楼主,你在 ldept 上设一个断点,看一下ldept上有值吗?还有你这段在代码在那写的?
回复 支持 反对

使用道具 举报

发表于 2008-5-22 11:58:19 | 显示全部楼层
lQuery.CommandText :=
                          'select * from QMINFOTABLE where '+
                          'ReportSerialNo like ''%'+lStr1+'%'' ';

这样看看。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 12:53:14 | 显示全部楼层
lQuery.CommandText :=
                          'select * from QMINFOTABLE where '+
                          'ReportSerialNo like ''%'+lStr1+'%'' ';
这样可以了 谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 17:56 , Processed in 0.039904 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表