MSGBOX的字符串,混淆为转换为整数VB.net

问题描述 投票:-1回答:1

我正在做一个学校项目,并在ExecuteNonQuery Sqlcommand之后遇到了这种情况

MsgBox(c.ExecuteNonQuery > 0, "Update Success! Acctid " & acctid.Text, "Update Failed!")

如您所见,我在msgbox中应用了一个三元语句,条件执行良好。我测试了它并且它已被执行但由于“更新成功!Acctid 1”(acctid.text已连接)错误导致程序崩溃。字符串到整数,转换异常从字符串“Update Success!Acctid 1”到“Integer”类型的转换无效。

这是为什么?显然返回必须是字符串,并且该语句中的任何内容都不应该启动从字符串到整数的转换。首先是另一种方式,它是两个字符串的有效串联

vb.net
1个回答
1
投票

“我在msgbox中应用了一个三元语句”。嗯,不,你没有。你刚刚给MsgBox提供了三个参数,而不考虑函数的期望。 VB中的三元运算符是If,代码中没有If。如果你想使用三元运算符,那么你需要使用一个:

MsgBox(If(c.ExecuteNonQuery > 0, "Update Success! Acctid " & acctid.Text, "Update Failed!"))
© www.soinside.com 2019 - 2024. All rights reserved.