vb.net - ссылка на объект не установлена ​​для экземпляра объекта - PullRequest
0 голосов
/ 04 июля 2011

Я получил эту ошибку при попытке использовать параметры для моего оператора 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, все работает нормально.Есть идеи?

1 Ответ

0 голосов
/ 04 июля 2011

ExecuteScalar должен возвращать только одно значение, например, целое число.Так, если вы укажете только один столбец в вашем SQL-выражении, например (выберите тип пользователя из tblStaff ...), Executescalar должен вернуть целое число (если этот столбец является числом).

Тогда он должен работать.

и, кстати .. вам не нужно использовать ToString для переменной, которая является строкой.Просто используйте имя переменной txtUserType.Text = i

...