SqlCommand не распознает имена столбцов из выбранных таблиц - PullRequest
1 голос
/ 23 июля 2011

Я только что опубликовал предыдущий вопрос об обновлении строки подключения. Это работает нормально, но это заставляет мою команду выбора терпеть неудачу. SqlException был обработан тем недопустимым именем столбца 'Username', 'Password', 'UserType', которое они уже есть в моей таблице User из моей базы данных.

Ниже моя команда выбора:

myConnection = New SqlConnection("Server=RAVY-PC\RAVY;Database=CIEDC;Trusted_Connection=True")
myConnection.Open()

myCommand = New SqlCommand("SELECT UserType FROM User WHERE UserName = @User AND Password = @Pass", myConnection)

txtUserType.Text = myCommand.ExecuteScalar()

Так как он перехватил вышеуказанную ошибку, я не знаю, в чем проблема. Пожалуйста, помогите.

Ответы [ 4 ]

3 голосов
/ 23 июля 2011

Попробуйте разместить квадратные отступы вокруг User, чтобы процитировать имя таблицы (пользователь является ключевым словом):

myCommand = New SqlCommand("SELECT UserType FROM [User] WHERE UserName = @User AND Password = @Pass", myConnection)
1 голос
/ 23 июля 2011

Используйте это:

myCommand = New SqlCommand("SELECT * FROM [User] WHERE UserName = @User AND Password = @Pass", myConnection)

Затем добавьте параметры.

1 голос
/ 23 июля 2011

Не похоже, что вы устанавливаете свои параметры:

        myCommand.Parameters.Add("@User","MyUsername")
    myCommand.Parameters.Add("@Pass","MyPassword")
0 голосов
/ 23 июля 2011

Используйте квадратные скобки вокруг имен столбцов. Это позволит использовать ключевые слова в качестве имен столбцов. Попробуйте, например, следующее.

select [UserType] from tblStaff
...