|
主题: if rs("条件") then 提示类型错误 怎么处理
|
gation
职务:普通成员
等级:2
金币:1.0
发贴:251
|
#12006/12/18 14:35:29
其中rs("条件" 字段值为 rs(id)<6 或者类似的条件,请问要怎样转换才行
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#22006/12/19 9:16:12
类型错误??!! 条件不成立吧,看看数据类型是否一致吧。
难人一个……
|
gation
职务:普通成员
等级:2
金币:1.0
发贴:251
|
#32006/12/19 9:45:09
是不是我的方法有误 比如直接 if rs(id)<6 or rs(id)>12 then 这样可以直接编译 但是如果把rs(id)<6 or rs(id)>12入库,r然后 if rst(tj) then 这样得出来的条件不是个表达式,而是一个字符串,2者需要怎样的转化 直接在用eval转换 不过得出的结果有误
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#42006/12/19 10:45:46
if rst(tj) then?? 这是什么什么函数?
难人一个……
|
gation
职务:普通成员
等级:2
金币:1.0
发贴:251
|
#52006/12/19 11:46:55
rst是记录集
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#62006/12/19 12:07:01
可否把完整的程序附上? if rst(tj) then 这样得出来的条件不是个表达式,而是一个字符串,2者需要怎样的转化
这个返回的是一个字符串?布尔值?数值?还是其它的数据类型????
难人一个……
|
gation
职务:普通成员
等级:2
金币:1.0
发贴:251
|
#72006/12/19 14:54:22
打开数据库1,得到tj值: rs(“id”)<2 or rs(“id”)>5 tj=rst("语句" 打开数据库2,判断条件是否成立 if tj then pp=pp+1 这个时候提示我类型错误 如果直接写成 if rs(“id”)<2 or rs(“id”)>5 then 这样判断是没问题的 现在问题是所有判断条件都入库,我需要读取数据库才知道条件到底是什么
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#82006/12/19 15:31:27
是ACCESS数据库吧。 VB的变量全是变体形的,建议在数值对比时最好用函数把数据类型统一一下,要不然是会出现这样的情况的。 另外你的tj=rst("语句" 不明白是什么类型,不过你的tj既然敢拿到if语句里来,那它只能是布尔值了,有点意思,想知道tj得到的结果是什么。
难人一个……
|
janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#92006/12/20 11:19:28
楼主的问题实际上是 javascript 中很常见的 eval() 问题。幸运的是,VBScript 也支持这个函数。所以这个问题解决很简单: If Eval(rst(tj)) Then ... FYI: www.aspdev.org/articles/asp-eval-execute/ www.devguru.com/technologies/vbscript/QuickRef/eval.html
|
沉默是金
职务:普通成员
等级:6
金币:11.2
发贴:4357
|
#102006/12/20 11:40:12
昨天还在对楼主的这种编程方式满腹牢骚,看来大错特错的是我,今天才算是有所领悟此函数的用途,知之甚少,谢谢janlay.
难人一个……
|