SqlCommand无法识别所选表中的列名

时间:2011-07-23 05:54:23

标签: vb.net sqlcommand

我刚发布了一个关于更新连接字符串的上一个问题。它工作正常,但它使我的选择命令失败。 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 个答案:

答案 0 :(得分:3)

尝试在User周围放置方括号以引用表名(用户是关键字):

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

答案 1 :(得分:1)

看起来您没有设置参数:

        myCommand.Parameters.Add("@User","MyUsername")
    myCommand.Parameters.Add("@Pass","MyPassword")

答案 2 :(得分:1)

使用此:

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

然后添加参数。

答案 3 :(得分:0)

在列名称周围使用方括号。这将允许将关键字用作列名。例如,尝试以下方法。

select [UserType] from tblStaff