Vb6 当我使用字符串连接以插入到数据库表中时,我的visual basic 6将转换为葡萄牙语布尔变量

Vb6 当我使用字符串连接以插入到数据库表中时,我的visual basic 6将转换为葡萄牙语布尔变量,vb6,Vb6,当我用字符串连接以插入数据库表时,我的visual basic 6将转换为葡萄牙语布尔变量 例如: “updatea tableX set value=“&true” 正如vb6所解释的: “updatea tableX set value=verdadeiro” 在葡萄牙语中,verdadeiro为true,这会导致错误插入数据库您使用什么作为后端?如果是SQL Server,您可能只想: "Update tableX set value = " & iif(value, 1, 0)

当我用字符串连接以插入数据库表时,我的visual basic 6将转换为葡萄牙语布尔变量

例如: “updatea tableX set value=“&true”

正如vb6所解释的: “updatea tableX set value=verdadeiro”


在葡萄牙语中,verdadeiro为true,这会导致错误插入数据库

您使用什么作为后端?如果是SQL Server,您可能只想:

 "Update tableX set value = " & iif(value, 1, 0) 
相反

或者,如果您可以使用:

 "Update tableX set value = " & iif(value, "true", "false")

它本质上是一个压缩的if语句。这将消除混合中的字符串转换,这正是造成问题的原因。

您正在隐式调用
CStr()
函数,该函数具有区域设置意识

也许可以试试:

"Updata tableX set value = " & Str$(True)
Str$()
函数始终使用不变的区域设置

呃,或者只是:

"Updata tableX set value = True"
这是Visual Basic 6的一个示例:

当布尔常量或变量连接到字符串中且区域设置不是英语时,Visual Basic 6.0会将布尔值强制为包含值文本的字符串。例如,当区域设置设置为法语时,您将看到字符串“Vrai”表示True。不幸的是,即使应用了CBool,“Vrai”也不会转换回布尔值True。如果将CBool应用于包含本地化单词的字符串,则会发生类型不匹配错误

它已在Service Pack 3中修复

此错误已在Visual Studio 6.0 Service Pack 3中更正

我建议安装所有可用的更新:


您使用什么作为后端?您可能只想改为“设置值=1”。