关于asp自定义函数的疑惑

Functionaaa(bb,cc)dd=bb>ccresponse.writeddEndFunctionresponse.writeaaa(3,2)Setrs=Serv... Function aaa(bb,cc)
dd=bb>cc
response.write dd
End Function
response.write aaa(3,2)
Set rs = Server.CreateObject("ADODB.Recordset")
sql="SELECT * FROM Users where aaa(3,2)"
rs.open sql,conn,3,3
这段代码里response.write aaa(1,2)可以正常显示结果,但为什么到select那里就会提示表达式中 'aaa' 函数未定义?难道select里不能用自定义的函数?把where aaa(3,2)改成where 3>2就可以运行
展开
 我来答
jiangxibaiyi
2012-09-17 · 跟随风去旅行-伤心的歌
jiangxibaiyi
采纳数:3973 获赞数:14412

向TA提问 私信TA
展开全部
sql语句中不能使用自定义函数
response.write aaa(1,2) 肯定能运行,因为你的函数代码没有错误

where 3>2在sql语句中也能运行,因为只要是在地球上,3肯定是大于2的。

但在sql语句中,使用自己定义的函数就不行了,adodb是不可能识别你自己定义的函数
cx1982420
2012-09-17 · TA获得超过1358个赞
知道小有建树答主
回答量:741
采纳率:100%
帮助的人:334万
展开全部
sql="SELECT * FROM Users where aaa(3,2)"

这里需要改成
sql="SELECT * FROM Users where '"&aaa(3,2)&"' "
另外说一下,你的where后面应该跟的是一个表达式,而不是独立的一个值,比如
sql="SELECT * FROM Users where 字段1 > "&aaa(3,2)&" "
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
网海1书生
科技发烧友

2012-09-16 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
这是因为具体的数据库操作(也就是select * from ... 这个命令)是由数据库搜索引擎(也就是ADODB)完成的,并不是由你的ASP程序完成的,你的ASP程序只不过是把要求发送给ADODB,ADODB从数据库中找到你要的数据后再返回给你的ASP程序,所以你的ASP程序本身的自定义函数与ADODB是毫不相关的。打个比方,你肚子饿了,又不想自己做饭,就打电话叫楼下的面店做了碗面条送上来,这碗面条的佐料包括油盐酱醋肯定都是这家面店的,跟你家的油盐酱醋也肯定是毫无关系的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式