我刚发布了一个关于更新连接字符串的上一个问题。它工作正常,但它使我的选择命令失败。 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()
由于它抓住了上述错误,我不知道是什么问题。请帮忙。
答案 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