"operation not applicable"是什么意思?

peterluolaw 2003-02-17 04:59:28
Oracle 8i + delphi 6 使用 BDE 连接.
FORM1 中各放入一个 TQUERY, 一个TDATASOURCE, 一个TDBGRID
TQUERY 设置为: DATASOURCE='',PARAMS为空,PARACHECK为TRUE,DATABASENAME='SWB',SQL为空
TDATASOURCE 设置为: DATASET=QUERY1,AUTOEDIT=FALSE;
TDBGRID 设置为: DATASOURCE=DATASOURCE1;
运行时,先修改TQUERY 的 SQL 属性再进行查询,代码如下:
query1.close;
query1.SQL.Clear;
query1.SQL.add('select username, room, idnum, oprtime, action from dianbaolg where username=:mypar order by oprtime');
query1.ParamByName('mypar').asstring:=edit1.Text;
query1.open;
每次到 query1.open 时,提示 BDE 错误为 "operation not applicable".
请问各位这是什么问题?如何解决?
...全文
1696 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
peterluolaw 2003-02-19
  • 打赏
  • 举报
回复
非常感谢你们的解答,虽然按大家提供的方法没有很好地解决问题,还是非常感谢各位!我摸索出了一种方法,但究竟是什么原因造成的?我还是不明白?烦劳各位帮助指点一下,代码如下:

query1.close;
query1.sql.text := 'select * from dianbaolg
where username like '''+'%'+edit1.text+'%'+
''' and oprtime between '''+
formatdatetime('yyyy-mm-dd',datetimepicker1.date-1)+'%'+
''' and '''+formatdatetime('yyyy-mm-dd',datetimepicker2.date)+'%'+
''' order by oprtime';
query1.Open;
rikky 2003-02-18
  • 打赏
  • 举报
回复
你的参数类型不对
NightCloud 2003-02-18
  • 打赏
  • 举报
回复
用你的程序作一个最简单的查询可以作吗。'select * from ...'

另外一个方法是改成这样试试:
query1.close;
query1.SQL.Clear;
query1.SQL.add('select username, room, idnum, oprtime, action from dianbaolg where username=''+edit1.text+''' order by oprtime');
query1.open;
fengron 2003-02-17
  • 打赏
  • 举报
回复
如果你再Open的时候edit1.Text<>''的话,你的语句是正确的。
NightCloud 2003-02-17
  • 打赏
  • 举报
回复
把order by oprtime去掉试试
wanwangzhiwang 2003-02-17
  • 打赏
  • 举报
回复
看看数据库设置对不对
rikky 2003-02-17
  • 打赏
  • 举报
回复
query1.ParamByName('mypar').Value:=edit1.Text; 拭一下

2,498

社区成员

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

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