【发布时间】:2021-01-25 17:07:51
【问题描述】:
我们最近将一个非常旧的网站迁移到了新服务器,但遇到了一个奇怪的问题。有一个简单的 if 语句应该和在旧服务器上读取为 true,但它不是也不知道为什么。声明如下。当我写出 invflag 时,它等于 1,这是我所期望的。
'does not trigger as true so iChk remains = ""
iChk = ""
if invflag = True then
iChk = "checked"
end if
'Works as expected
iChk = ""
if invflag = "1" then
iChk = "checked"
end if
'works as expected
iChk = ""
if invflag = 1 then
iChk = "checked"
end if
我知道我们可以简单地解决这个问题,如您所见,但我们在整个代码中散布着这些类型的语句,如果服务器或数据库有什么东西,我们可以设置这是理想的,我想我会检查一下。
p>【问题讨论】:
-
在深入研究之后,看起来在旧系统上该值将作为布尔值返回。现在它以字符串的形式返回。我们从 MSSQL 转换为 MySQL,所以问题是 MySQL 将其作为字符串返回,即使数据类型是 Int。
-
这正是我的下一个问题:
invflag的来源是什么?
标签: asp-classic