主题:  类型不匹配的问题

风之翅

职务:普通成员
等级:2
金币:10.0
发贴:540
#12003/9/5 13:38:37
Dim LeaveTime
LeaveTime = DateAdd("s", -60, Now)
set commleave = Server.CreateObject("ADODB.Command")
commleave.ActiveConnection = MM_conn_STRING
commleave.CommandText = "Delete FROM online Where NowTime < #" + LeaveTime + "#"
commleave.CommandType = 1
commleave.CommandTimeout = 0
commleave.Prepared = true
commleave.Execute()
------------------------
LeaveTime可以输出日期格式我已经试了,NowTime在数据表里也是日期格式,为什么类型不匹配出错啊,数据库是Access2000,请指教

编辑历史:[这消息被jhsdx编辑过(编辑时间2003-09-05 13:40:27)]


whoisspider

职务:普通成员
等级:1
金币:1.0
发贴:245
#22003/9/5 15:52:58
commleave.CommandText = "Delete FROM online Where NowTime < #" & LeaveTime & "#"



风之翅

职务:普通成员
等级:2
金币:10.0
发贴:540
#32003/9/6 13:41:26
谢谢,OK了
这样看来+和&是有区别的,能说说吗?



今晚在线

职务:普通成员
等级:3
金币:1.0
发贴:761
#42003/9/6 22:19:11
一般 js 和javascript是用加号

vbscript脚本用 &



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#52003/9/7 10:59:21
默认情况下,ASP使用 VBScript 作为它的脚本语言。这里我说一下 vbscript 对 + 运算符的处理方式。

在大多数情况下,+被用来执行两个数值表达的加法运算,这个时候,+两端的表达式都是数值类型的。这是第一种情况。

第二种情况:如果两端都是字符串,+ 也能正常工作——它用来将两个字符串连接起来。

第三种情况:如果 + 一端是数值类型,一端是非数值类型,则 VBScript 会试图将非数值类型转为数值类型,再做相加(不是连接)运算。这个时候如果转换失败,就会返回错误。& 不一样,它总是把两端做连接操作,即使 & 一端是数值类型,一端是字符串类型,也可以返回正确结果,这就是 & 被推荐用来做字符串连接的原因。

对于其他的类型,Microsoft 文档描述如下:
引用:
如果一个表达式或两个表达式都为 Null 表达式,则 result 为 Null。如果两个表达式都为Empty,则 result 为 Integer 子类型。但是如果一个表达式为 Empty,则返回另一个表达式作为 result。



风之翅

职务:普通成员
等级:2
金币:10.0
发贴:540
#62003/9/7 11:27:49
谢谢大家,懂了
以前用javascript习惯了,现在好多程序都是用的+,看来得改了