问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

100分求解:ASP中表达式中 'Getdate' 函数未定义?

发布网友 发布时间:2023-09-07 15:16

我来回答

4个回答

热心网友 时间:2023-09-16 20:09

1。看你数据库连接中用JET,你的是ACCESS是吧?ACCESS没有GetDate()函数。用的是Now()函数。
2。而用了Now后产生的“至少一个参数没有被指定值”是因为可能有其他错误。

你的代码写得有些乱,重复的地方多,调试起来不太容易。
如下,不过有些代码我用...代替了。你自己替换一下。然后看一下Sql输出的是什么值。这样再在ACCESS中去运行一下。

Sql = ""
Sql = Sql & "SELECT TOP " & (Page * Maxperpage) & " AdID, City_OneId, City_TwoId, City_ThreeId, City_One, City_Two, City_Three," & vbCrLf
Sql = Sql & " type_OneId, type_TwoId, type_ThreeId," & vbCrLf
Sql = Sql & " [Color], [Title], [Text], [Date], Pic, Hits, [Money], MoneyDate, [Top], [Hot]" & vbCrLf
Sql = Sql & "FROM China_Data" & vbCrLf
Sql = Sql & "WHERE (Mark = 'yes'" & vbCrLf
If (....) Then
Sql = Sql & "AND (" & vbCrLf
Sql = Sql & " (DateDiff(d, Now(), [Stop]) >= 1)" & vbCrLf
Sql = Sql & " OR (" & vbCrLf
Sql = Sql & " ([Money] > 0)" & vbCrLf
Sql = Sql & " AND (DateDiff(d, Now(), [MoneyDate]) >= 1)" & vbCrLf
Sql = Sql & " )" & vbCrLf
Sql = Sql & ")" & vbCrLf
Else
Sql = Sql & "AND (" & vbCrLf
Sql = Sql & " [stop] >= Date()" & vbCrLf
Sql = Sql & " OR (" & vbCrLf
Sql = Sql & " [Money] > 0" & vbCrLf
Sql = Sql & " AND MoneyDate >= date()" & vbCrLf
Sql = Sql & " )" & vbCrLf
Sql = Sql & ")" & vbCrLf
End If
Sql = Sql & c & t & vbCrLf
Sql = Sql & " ORDER BY [top] DESC"

Select Case OrderType
Case 1
Sql = Sql & ", Adid"
Case 2
Sql = Sql & ", Adid DESC"
Case 3
Sql = Sql & ", hits"
Case 4
Sql = Sql & ", hits DESC"
Case Else
Sql = Sql & ", [money] DESC,Adid DESC"
End Select

If (Not IsObject(Conn) Or Conn Is Nothing) Then DbLink
Set Rs = Server.CreateObject("ADODB.RecordSet")
Rs.Open Sql,Conn,1,1
If Not Rs.Eof Then Rs.Move (Maxperpage * (page - 1))
IF Not Rs.Eof Then typeData = Rs.Getrows

...
Rs.Close
Set Rs = Nothing

热心网友 时间:2023-09-16 20:09

你没有在函数DateDiff(d,now(),[MoneyDate])中加单引号,注意加上单引号,DateDiff('d',now(),[MoneyDate])表明 是按照日期'd'进行计算时间间隔的。
''注意:在 access中,函数DateDiff('d',now(),[MoneyDate])中第一个参数要加上单引号,否则会发生 至少一个参数没有被指定值。在sql server中函数DateDiff('d',now(),[MoneyDate])第一个参数不需要加单引号的。这是 两个类型的sql语句中的区别。
你的数据库应该是access数据库,把getdate()换成 now(),

现把代码修改如下。运行无误。

Sql = "Select top "&Page*Maxperpage&" adid,City_oneid,City_twoid,City_threeid,City_one,City_two,City_three,type_oneid,type_twoid,type_threeid,[color],[title],[text],[date],pic,hits,[Money],MoneyDate,[Top],[hot] From China_Data Where mark='yes' And (DateDiff('d',now(),[stop])>=1 Or (DateDiff('d',now(),[MoneyDate])>=1 And [Money]>0)) "&c&t&" order by [top] desc"
Else
Sql = "Select top "&Page*Maxperpage&" adid,city_oneid,city_twoid,city_threeid,city_one,city_two,city_three,type_oneid,type_twoid,type_threeid,[color],[title],[text],[date],pic,hits,[Money],MoneyDate,[Top],[hot] From China_Data Where mark='yes' And ([stop]>=Date() Or ([Money]>0 And MoneyDate>=date())) "&c&t&" order by [top] desc"
End If

Select Case OrderType
Case 1
Sql = Sql & ",Adid"
Case 2
Sql = Sql & ",Adid Desc"
Case 3
Sql = Sql & ",hits"
Case 4
Sql = Sql & ",hits Desc"
Case Else
Sql = Sql & ",[money] Desc,Adid Desc"
End Select
If Not IsObject(Conn) Or Conn Is NoThing Then DbLink
Set Rs=server.createobject("adodb.recordset")
Rs.Open Sql,Conn,1,1
If Not Rs.Eof Then Rs.Move (Maxperpage*(page-1))
IF Not Rs.Eof Then typeData=Rs.Getrows

热心网友 时间:2023-09-16 20:10

Sql = "Select top "&Page*Maxperpage&" adid,City_oneid,City_twoid,City_threeid,City_one,City_two,City_three,type_oneid,type_twoid,type_threeid,[color],[title],[text],[date],pic,hits,[Money],MoneyDate,[Top],[hot] From China_Data Where mark='yes' And (DateDiff(d,getDate(),[stop])>=1 Or (DateDiff(d,getDate(),[MoneyDate])>=1 And [Money]>0)) "&c&t&" order by [top] desc"

至少一个参数没有被指定值!
错误一定在sql这个变量里面!
将以下代码放到“Select Case OrderType”前面试试:
response.write sql
response.end
看一下输出的语句,你就知道哪有问题

热心网友 时间:2023-09-16 20:10

是获取时间涵数么
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 表达式中 'getDate' 函数未定义 表达式中 '学生成绩信息表' 函数未定义什么意思? 拟未来几月重开乌部分餐厅,麦当劳的行为有何代表意义? 真的放下一个自己爱的人心 很痛该怎么办? 放弃一个深爱的人什么感觉?痛苦吗? 包头景晟开元检测点是哪的公司 包头中国铁建景晟开元开发商是哪家公司? 包头中国铁建景晟学府有多少户? 哪些成语可以形容困难? 电脑中音量控制里的英文各是什么意思 新人疑问:战团自立怎么招领主? 为什么爱普生 eb c764xn的报价差这么多 战团怎么招好人领主? 骑马与砍杀战团怎样招好人领主 6平方分米7平方厘米=( )平方分米 松树上粉色球状的蘑菇能吃吗 南京人事考试网厅长信箱的回复内容从哪看 联通固话的增值业务费莫名其妙出现了,4个月的话费单上都有20元的增值业务费,请问怎么取消? 卫生间铺瓷砖墙面怎么处理 我没有订购过什么沃商店包月,为什么给我加上这个。害我每月损失25元。严重* 斯洛伐克最大商场面积 斯洛伐克客户拖欠货款怎么办? 李斯科茨代尔大厦 南瓜藤苦是怎么回事 小狗有病有什么症状 家里新养了狗狗,害怕狗狗生病,狗狗生病的常见情况都有哪些呢? 天津理工大学艺术学院学生活动多不多 大众捷达abs匹配通道号 睡觉抽搐什么原因 晚上睡觉抽搐怎么办 水螅是怎么进行有性生殖的? 不思议迷宫东方的庆典无国王二哈通关攻略 死人被挖走心肺肾脑火化还会转世吗 bottle是什么意思及用法 轻度的肺结核治愈后以后会复发吗 abottleof用法 关于jar, tube, pack, bottle用法 盛达鑫暴雷,客户能追回本金吗? 深圳市盛达鑫塑胶五金有限公司怎么样? 山东盛达鑫光电有限公司怎么样? 深圳市盛达鑫科技开发有限公司怎么样?