我在access2000中建了个查询(视图),DELPHI连接这个库后,可以把这个查询当作一个表,但是我想在delphi中给access中的查询传递参数,应

dpbug 2004-05-03 10:54:18
我在access2000中建了个查询(视图),DELPHI连接这个库后,可以把这个查询当作一个表,但是我想在delphi中给access中的查询传递参数,应该怎么做?
...全文
216 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
dpbug 2004-05-04
  • 打赏
  • 举报
回复
运行通过了,只不过你是用静态连接的,我想动态一定也可以吧,感谢bigqll的源代码
dpbug 2004-05-04
  • 打赏
  • 举报
回复
我的语句没有错啊,procedurename直接赋值也可以的。
我看看 bigqll的代码再说
BigQLL 2004-05-04
  • 打赏
  • 举报
回复
我把源代码发到你的邮箱里了
youcheng1 2004-05-04
  • 打赏
  • 举报
回复
错了,是ADOStoredProc的procedurename属性连接到“查询6”.
youcheng1 2004-05-04
  • 打赏
  • 举报
回复
调用成功了,用ADOStoredProc,可以给查询传递参数。
你的ADOStoredProc的parameters属性连接到“查询6”,再设计ADOStoredProc的参数就行了。
dpbug 2004-05-04
  • 打赏
  • 举报
回复
经过某位大侠提示,
我在access中写了 视图——“查询6”
PARAMETERS aa Long;
SELECT 编号 FROM 商品 WHERE 单位<=aa;

Delphi中代码
begin
ADOStoredProc1.close;
ADOStoredProc1.Parameters.Clear;
ADOStoredProc1.Parameters.CreateParameter('aa',ftinteger,pdinput,0,0);
ADOStoredProc1.Parameters.Items[0].Value:=2;
ADOStoredProc1.ProcedureName := '查询6';
ADOStoredProc1.open;
ADOQuery.SQL.TEXT := 'SELECT * FROM 查询6';
ADOQuery.Open;
end;
其中 ADOStoredProc1.DataSource连接到了Datasource1,datasource1的dataset是adoquery1;ADOStoredProc1和adoquery1通过同一个adoconnecting连接到了access数据库

但是运行后:“系统提示参数aa没有默认值”,怎么回事啊,求助
大概就剩最后一步了
youcheng1 2004-05-04
  • 打赏
  • 举报
回复
在VB中是可以给ACCESS中的查询传递参数的,在DELPHI中我还不知道方法,有答案通知我一声。
dpbug 2004-05-04
  • 打赏
  • 举报
回复
楼上的不要乱说,明显在糊弄人
liulangnanhai 2004-05-04
  • 打赏
  • 举报
回复
Adoquery1.close;
adoquery1.sql.text:= 'select * from ViewName where field=: Value '
adoquery1.Open;
....
Parameters.Params[0].Value:='123'


Jasonn 2004-05-03
  • 打赏
  • 举报
回复
SQL处理上 视图 和 表 没什么区别

传递的参数是不是WHERE的筛选条件,还是其他

把问题具体点呢?
lxftwo 2004-05-03
  • 打赏
  • 举报
回复
就是啦,阿朱说得对,同样是表,传递方法也一样。

select * from .....
where field=:pdate

....
Parameters.ParamByName('pdate').Value:=xxx
duanazhu 2004-05-03
  • 打赏
  • 举报
回复
晕~~~~~~~~~~~你能不能说清楚一点?如果delphi是把那个视图当作一个表,那么就跟普通表的参数传递一样啦
dpbug 2004-05-03
  • 打赏
  • 举报
回复
那delphi中怎么传递参数给aa呢
dpbug 2004-05-03
  • 打赏
  • 举报
回复
楼上的兄弟,你给的代码是delphi中的还是access视图中的?
DebugXP 2004-05-03
  • 打赏
  • 举报
回复
PARAMETERS aa DateTime;
SELECT [编号] FROM 商品 WHERE [日期] > aa ;

日期字段必须为DateTime型
调用时的参数传递和存储过程一样
dpbug 2004-05-03
  • 打赏
  • 举报
回复
我说清楚点

access中的视图:
视图名称为:查询1
SELECT [编号] FROM 商品 WHERE [日期] > [查询日期:]
其中的[查询日期:]就是我要用Delphi编程传递给它的条件啊

delphi中这样调用的:
ADOQUERY.SQL.TEXT := 'SELECT 名称, 编号 FROM 仓库 INNER JOIN 查询1 WHERE 查询1.编号 = 仓库.编号';

怎样才能把 查询日期 的数值传递给视图呢?
jacbey 2004-05-03
  • 打赏
  • 举报
回复
你把视图 当做 表 一样用就是了,反正写好SQL字符串给数据库就是了

2,497

社区成员

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

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