0

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句の構文エラー。

修正や提案はありますか?

4

1 に答える 1

1

問題は、userがキーワードであるためです。つまり、その名前のテーブルを使用できないのか、この単語でクエリを実行できないのかということです。

すべてのSQLServerキーワードを参照するには、予約キーワード(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 に答える