Office中国论坛/Access中国论坛

标题: 对ADP的疑问? [打印本页]

作者: yodong    时间: 2011-9-16 10:57
标题: 对ADP的疑问?
现在发现一个这样的问题.发觉ADP对大表的数据操作时候会不执行的情况,我有一个日志表.有1百多万条记录,我想清除2011年以前的数据.我直接在ADP中写存储过程ELETE FROM dbo.CL_tbl日志 WHERE (YEAR(时间) < '2011')
双击执行.显示执行成功.可是就是删除不了记录.重试了好多次都这样.我登录到服务器上.用查询分析器执行同样的语句.却是成功删除了数据.现在我的数据库很多表都有100W条以上记录的.我真担心ADP是否支持这么大的表的操作.还是我的ADP的设置问题?大家有没有遇到这样的问题?真有点困惑了!
作者: tmtony    时间: 2011-9-16 11:23
year返回的应该是数值吧
YEAR(时间) < 2011
作者: zhuyiwen    时间: 2011-9-16 12:48
tmtony 发表于 2011-9-16 11:23
year返回的应该是数值吧
YEAR(时间) < 2011

呵呵,可能是他没看清楚。
作者: yodong    时间: 2011-9-17 19:21
DELETE FROM dbo.CL_tbl日志 WHERE (YEAR(时间) < 2011
语句是对的.我复制到查询分析器就可以删除成功.真的好奇怪.
作者: homemeeting    时间: 2011-9-19 16:00
在adp中能直接写存储过程吗?
应该在sqlserver端建立存储过程,在adp中执行


作者: yodong    时间: 2011-9-19 22:36
可以在ADP中写存储过程呀?
作者: zhuyiwen    时间: 2011-9-20 08:19
homemeeting 发表于 2011-9-19 16:00
在adp中能直接写存储过程吗?
应该在sqlserver端建立存储过程,在adp中执行

yodong 发表于 2011-9-19 22:36
可以在ADP中写存储过程呀?



可以。

存储过程仍然存储在服务器端,仅只是在ADP客户端编写,当然是在服务器执行,但可以使用Access调用。

例如:Docmd.OpenProcedure "...."

或者,直接在窗体或报表中,使用存储过程作为数据源,并可直接引用窗体控件的值作为其存储过程的调用参数。

当然,也可以使用ADO来调用。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3