0

この質問を昨日したのですが、回答がありました。私はそれを読んで、うまくいくと思ったが、.aspページにコードを実装した後、エラーが発生した.

Dim strSQL
Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DatabaseName.mdb")
Set rsLogbook = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT TableName.FieldName FROM TableName;"
rsLogbook.Open strSQL, adoCon

'' get string and put into list
Dim myList As List(Of String) = rsLogbook("FieldName").ToString().Split(New () {","}, StringSplitOptions.RemoveEmptyEntries).ToList()

'' then close all your stuff
rsLogbook.Close
Set rsLogbook = Nothing
Set adoCon = Nothing

'' Sort your list
myList.Sort();

'' now output to where ever you want.
'' in this case, have an asp.literal control on your page where you want the text and call it myLit
For each sensor in myList
myLit.Text += "<p>" + sensor + "</p>"
Next
%>

エラーは言う

「Microsoft VBScript コンパイル エラー '800a0401'

予想されるステートメントの終わり

Dim myList As List(Of String) = rsLogbook("sensors").ToString().Split(New () {","}, StringSplitOptions.RemoveEmptyEntries).ToList() ----------- ^

これについて何か助けていただければ幸いです。

このコードを使用してここでやろうとしているのは、データベースから情報を取得し、.asp および VB スクリプトを使用して Web ページに表示することです。.asp ページで Response.Write タグを使用して、データベース内の情報を含むフィールド名を実装しています。

アップデート

<%
Dim adoCon
Dim rsLogbook
Dim strSQL
Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "DRIVER={Microsoft Access Driver (*accdb, *.mdb)}; DBQ=" & Server.MapPath("featuredvehicle.accdb")
Set rsLogbook = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT featuredvehicles.make FROM featuredvehicles;"
rsLogbook.Open strSQL, adoCon
Response.Write ("<br>")
Response.Write (rsLogbook("make"))
rsLogbook.Close
Set rsLogbook = Nothing
Set adoCon = Nothing
%>

これは、データベース名とテーブル名も含む実際のコードです

4

1 に答える 1

2

データベースからフィールドを取得し、すべての行を Response.Write したい場合は、次のようなものを使用できます。リストを作成するために VB.NET コードを削除したことに注意してください。また、(VB.NET に従って) 空の値が必要ない場合に備えて、SQL クエリに WHERE 句を追加し、リスト ソートを置き換えるために ORDER BY 句を追加しました。

Dim strSQL
Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("DatabaseName.mdb")
Set rsLogbook = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT TableName.FieldName FROM TableName WHERE TableName.FieldName != '' ORDER BY TableName.FieldName ASC;" 'Add order by clause so you don't need to sort the array
rsLogbook.Open strSQL, adoCon

Do Until rsLogBook.EOF
    Response.Write(rsLogbook("FieldName")) & "<br />"
    rsLogBook.MoveNext
Loop

rsLogbook.Close
Set rsLogbook = Nothing
Set adoCon = Nothing
于 2013-04-12T05:28:16.357 に答える