当我循环浏览页面上显示它的记录集时,只要它点击:
posLeft = Cstr((Cint(rs("stoneleft"))*0.31))
它停止阅读数据库,所有其他rs("")
都不起作用。
我这样做错了吗? stoneleft字段是一个varchar,它将它转换为整数(我尝试的测试记录为'100')然后乘以0.31然后转换为字符串,以便我可以在页面上显示它。
答案 0 :(得分:1)
问题
driver={SQL Server};
尝试(而不是上述)
driver=SQLNCLI;
答案 1 :(得分:0)
你可能从db获得了null或空值。
试试这个:
If Len(rs("stoneleft") & "") > 0 Then
posLeft = Cstr((Cint(rs("stoneleft"))*0.31))
End If
这相当于:
If IsNull(rs("stoneleft")) Or IsEmpty(rs("stoneleft")) Then
' don't do stuff!
End If
答案 2 :(得分:0)
@Grant unwin:您应该始终将行值分配给变量,这样您就可以进入数据库以获取数据,然后在开始处理之前再次离开。
Dim stoneLeft, posLeft
stoneLeft = rs("stoneleft")
If NOT IsNumeric(stoneLeft) OR IsNull(stoneLeft) Then
stoneLeft = 0
Else
stoneLeft = CInt(stoneLeft)
End If
posLeft = stoneLeft * 0.31