说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

类型不匹配: 'Cint'

编辑:说三道四文库 发布时间:2018-02-20 07:34
HTML文档下载 WORD文档下载 PDF文档下载
问题是这样的
我用ADO对象进行操作
原本这样写
rs2.addnew
while not rs1.eof
 str=trim(rs1("fvalue"))
 rs2(str)=request(str)    ’出错关键句
 rs1.movenext
wend
rs2.update
当有字段为形时就出错
我将关键句改为
 if rs2(str).type=3 then
   rs2(str)=Cint(request.Form(str))
 else
   rs2(str)=request.Form(str)
 end if 
出错是错误原因:类型不匹配: 'Cint'
我改为
 if rs2(str).type=3 then
   rs2(str)=1          '改为rs2(str)=Cint(1)或rs2(str)=Cint("1")
 else
   rs2(str)=request.Form(str)
 end if 
这样都是正确的
这里我就不明白到底request.form(str)<注str是变量为POST字段值>返回的是什么类型?这里面的错误是什么原因?

我用ADO对象进行操作
原本这样写
rs2.addnew
while not rs1.eof
 str=trim(rs1("fvalue"))
 rs2(str)=request(str)    ’出错关键句
 rs1.movenext
wend
rs2.update
当有字段为整形时就出错
我将关键句改为
 if rs2(str).type=3 then
   rs2(str)=Cint(request.Form(str))
 else
   rs2(str)=request.Form(str)
 end if 
出错是错误原因:类型不匹配: 'Cint'
我改为
 if rs2(str).type=3 then
   rs2(str)=1          '改为rs2(str)=Cint(1)或rs2(str)=Cint("1")
 else
   rs2(str)=request.Form(str)
 end if 
这样都是正确的
这里我就不明白到底request.form(str)<注str是变量为POST字段值>返回的是什么类型?这里面的错误是什么原因?
在str中可能有非数字的字符串
没有我打印过是正常的,问题就在rs2(str)=request(str),当str为整数字段时这两边所需要的类型不一样,不知道这两边的类型是什么?
输出Request(str),看是否有非法字符
变量值为空所致。
可增加判断, 如:
if inta="" or isnull(inta) then inta=0 然后再用cint(inta)
输出Request(str),看是否有非法字符

检查需要值得地方是否能够获得值
输入过,是正常值,也没有像jacklinchen(陈)说的为空的原因。问题就在rs2(str)=request(str),当str为整数字段时这两边所需要的类型不一样,不知道这两边的类型是什么?
非法字符和为空的情况,可以完全排除
希望大家能关注一下这个问题。Thanks
str=trim(rs1("fvalue"))
我打印用response.write(str)得到f1
rs2(str)=request.Form(str)
这样就会出现上述错误:错误原因:未知界面。
这样改:
str="f1"
这样这句就没有问题了rs2(str)=request.Form(str)
这个现象不知道是什么原因?

强行转化为数字clng()


rs2(str)=Cint(request.Form(str))


写这句之前应该首先判断接受的数据是否为空,否则肯定出错!

我知道了,谢谢各位
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘