我在尝试将参数用于我的sql语句时遇到此错误,但在不使用它时它可以正常工作。我的代码如下:
Dim i As String
Dim sql as String
sql = "SELECT * FROM tblStaff WHERE Username = @User AND Password = @Pass"
myCommand = New SqlCommand(sql, myConnection)
myCommand.Parameters.AddWithValue("@User", txtUser.Text)
myCommand.Parameters.AddWithValue("@Pass", txtPassword.Text)
i = myCommand.ExecuteScalar
txtUserType.Text = i.ToString
当我评论txtUserType.Text = i.ToString
时,它运作正常。有什么想法吗?
答案 0 :(得分:0)
ExecuteScalar应该只返回一个值,就像整数一样。因此,如果您在SQL语句中仅指定一列(例如,从tblStaff中选择usertype ...),则执行标量应返回一个整数(如果该列是数字)。
然后它应该工作。
顺便说一下..你不必在一个字符串变量上使用ToString。只需使用变量名称 txtUserType.Text = i