关于三层结构ADOQuery参数问题?

Novelty 2005-12-26 03:20:18
使用三层结构时,应用服务器使用ADOQuery带参数进行查询.
ADOQuery的SQL属性:select * from test where test_date:=@cur_date
ADOQuery的参数属性中添加名为@cur_date的属性,类型为字符型

客户层调用
ClientDataSet的参数属性中添加名为@cur_date的属性,类型为字符型
运行时对属性赋值:
ClientDataSet1.Params.ParamByName('@Cur_Date').AsString := '2005-11-1';
ClietnDataSet1.Open;


Open时出错,跟踪后发现:
应用服务器ADOQuery的SQL为select * from test where test_date:=@cur_date
按道理ADOQuery的SQL应该为select * from test where test_date:='2005-11-1'才对

请问这是为什么?
应该怎样传递参数才对.

...全文
115 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
耙子 2005-12-26
  • 打赏
  • 举报
回复
ADOQuery的SQL属性:select * from test where test_date=:cur_date

ClientDataSet1.Params.ParamByName('Cur_Date').AsString := '2005-11-1';
ClietnDataSet1.Open;

耙子 2005-12-26
  • 打赏
  • 举报
回复
我怎么记得引入符号是冒号不适@呢。 你写成了 := 不知道是不是故意的,应该是=:

ADOQuery的SQL属性:select * from test where test_date=:cur_date

ClientDataSet1.Params.ParamByName('@Cur_Date').AsString := '2005-11-1';
ClietnDataSet1.Open;
NightCloud 2005-12-26
  • 打赏
  • 举报
回复
大概看了一下TClientDataSet.Params的帮助,他需要在服务器端的TADOQuery控件中也要加入相同的Params参数名,你这么做了吗

2,497

社区成员

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

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