0

データベースから変数へのレコードセットの 1 行だけを検索する必要があるコードを作成しました。

dim Connect,conn_,data,sql

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "toServer"
sql = "SELECT * from sppro where proj_name='pname'"
set Data = Connect.Execute(sql)

response.write data("proj_id")

単一のレコードセットを取得して表示する正しい方法が見つかりません...カーソルについて何かを見つけましたが、まったく理解できません...誰か教えてもらえますか?

編集:

このコードで得たエラーは以下のとおりです。

ADODB.Field エラー '80020009'

BOF または EOF が True であるか、現在のレコードが削除されています。要求された操作には現在のレコードが必要です。

/bkpi-msn/Include/ServerSideAjax.asp、行 0

4

1 に答える 1

2

私の理解が正しければ、データベースから 1 つのレコードを表示する方法は既にわかっていますが、今度は複数のレコードを表示する必要があります。そうですか?

コードをいくつか変更すると、すべてのレコードをループできます。

dim Connect,conn_,data,sql

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "toServer"
sql = "SELECT * from sppro where proj_name='pname'"
set Data = Connect.Execute(sql)

Do Until Data.Eof

    response.write data("proj_id")

    Data.MoveNext
Loop

編集:1行だけを取得するには、次を使用できます。基本的には同じですが、少なくとも 1 つのレコードがあることを確認するチェックがあり、レコードセットをループする必要はありません。

dim Connect,conn_,data,sql

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "toServer"
sql = "SELECT * from sppro where proj_name='pname'"
set Data = Connect.Execute(sql)

If Not Data.Eof Then

    response.write data("proj_id")

End If
于 2013-04-15T09:08:41.370 に答える