Oracle数据库查询

dlss 2000-07-07 04:35:00
query1.close;
query1.SQL.Clear ;
query1.sql.add('select * from t_yhdab where extn=:dhhm');
query1.ParamByName('dhhm').asstring:='62112';
query1.Open;
执行上面的代码,query1返回空,但将上面的语句改成:
query1.close;
query1.SQL.Clear ;
query1.sql.add('select * from t_yhdab where extn=62112');
query1.Open;
能找到要查询的记录。为什麽带参数的查询总是不正确?
我使用的是Orcale数据库。
...全文
138 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heshengjie 2000-10-20
  • 打赏
  • 举报
回复
先要增加一个参数类型Params.Add,这绝对不是类型的问题。如果对参数调用不熟的话,先试用一下情态的参数使用。在设计期,把您的带参数的语句放到Query中,点击Params属性,可以看到系统已自动为您生成(动态时需要您手工生成),然后一样了。
huhaojie 2000-07-10
  • 打赏
  • 举报
回复
试一下:
query1.sql.add('select * from t_ydab where extn="62112"');
bpc 2000-07-10
  • 打赏
  • 举报
回复
extn不可能是字符类型的字段,你仔细看看。。。。
这条语句query1.sql.add('select * from t_yhdab where extn=62112');
能有结果,就能说明问题了。。
dlss 2000-07-08
  • 打赏
  • 举报
回复
binb
不是,extn是字符类型的字段,对Orcale数据库带参数的查询总是返回空,是什麽原因?
binb 2000-07-07
  • 打赏
  • 举报
回复
应该是
query1.ParamByName('dhhm').asinteger:=62112

2,497

社区成员

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

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