0

我想使用选择查询从数据库 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 子句中的语法错误。

任何更正或建议?

4

1 回答 1

1

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

要查看所有 Sql Server 关键字,请参阅:保留关键字 (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();
于 2013-03-03T06:43:42.283 回答