在vb.net中运行select query

时间:2013-03-03 06:36:46

标签: vb.net

我想使用select查询从数据库amsdb.mbd中检索用户密码,表名为“user”

这是连接字符串

conaccess.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Documents and Settings\shirish\Desktop\AMS\New Folder\ams\ams\amsdb.mdb"
conaccess.Open()

这是我使用的查询:

Dim selcmd As New OleDbCommand("SELECT pwd FROM user WHERE uid = '" & ComboBox1.SelectedText & "'", conaccess)
Dim pwd1 As String
pwd1 = selcmd.ExecuteNonQuery()

但这给了我一个错误

  

FROM子句中的语法错误。

任何更正或建议?

1 个答案:

答案 0 :(得分:1)

问题是因为user是一个关键字,这意味着您不能使用具有该名称的表,或者无法使用此单词运行查询。

有关所有Sql Server关键字的信息,请参阅:Reserved Keywords (Transact-SQL)

如果您更改表名,则可以再次运行查询。

<强>更新

您需要获取密码,但ExecuteNonQuery方法无法执行此操作。为此,您需要使用OledbDataReader

例:

Dim selcmd As New OleDbCommand("SELECT pwd FROM userstbl WHERE uid = '" & ComboBox1.SelectedText & "'", conaccess)
Dim reader As OleDbDataReader = selcmd.ExecuteReader()
pwd1 = reader("pwd").ToString();