oracle的带参数按条件查询问题(100分)

  • 主题发起人 主题发起人 vinger
  • 开始时间 开始时间
V

vinger

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个程序,用的是C/S模式,服务器端用的是oracle7.3/NT,客户端用delphi,
装了oracle 客户端。编了下段小程序,用query进行带条件查询,有问题,请教:
先在属性中设sql语句为: select * from danwei where name=:p1
(p1设strin型参数),程序如下:
with query1 do
begin
close;
parambyname('p1').asstring:='zhanmi';
open;
first;
showmessage('you query is correct!');
end
在编译阶段系统就报错“orperation not applicationable”,(BDE类型错误)。
但如果查询字段是整型,p1值也是整型,则不仅编译通过,执行结果也对。请问,如何解决?
这里有什么要注意的地方?

query1.SQL.clear;
query1.sql.add('SELECT * FROM ANIMALS');
QUERY1.SQL.ADD(' WHERE NAME='+''''+EDIT1.TEXT+'''');
 
1.看代码没有错误.
2.QUERY1.SQL.ADD(' WHERE NAME='''+EDIT1.TEXT+'''');//NAME-->string
QUERY1.SQL.ADD(' WHERE NAME='+EDIT1.TEXT);//NAME-->not string

 
orperation not applicationable应该是运行时候报的吧,
编译时不会有此错误
 
parambyname('p1').asstring:='''zhanmi''';//这样zhanmi是string
 
多人接受答案了。
 
后退
顶部