我正在做一个学校项目,并在ExecuteNonQuery Sqlcommand之后遇到了这种情况
MsgBox(c.ExecuteNonQuery > 0, "Update Success! Acctid " & acctid.Text, "Update Failed!")
如您所见,我在msgbox中应用了一个三元语句,条件执行良好。我测试了它并且它已被执行但由于“更新成功!Acctid 1”(acctid.text已连接)错误导致程序崩溃。字符串到整数,转换异常从字符串“Update Success!Acctid 1”到“Integer”类型的转换无效。
这是为什么?显然返回必须是字符串,并且该语句中的任何内容都不应该启动从字符串到整数的转换。首先是另一种方式,它是两个字符串的有效串联
“我在msgbox中应用了一个三元语句”。嗯,不,你没有。你刚刚给MsgBox
提供了三个参数,而不考虑函数的期望。 VB中的三元运算符是If
,代码中没有If
。如果你想使用三元运算符,那么你需要使用一个:
MsgBox(If(c.ExecuteNonQuery > 0, "Update Success! Acctid " & acctid.Text, "Update Failed!"))