1

vbscript を使用して読み取る SQL データベースをセットアップしています。

これが私が使用しようとしているコードです。

    SQL_Command_String = "SELECT * FROM Table1 JOIN Table2 WHERE Table1.ID = '5' AND Table2.Date LIKE '2011'"

Set Rs = SQLConnection.Execute(SQL_Command_String)
 DO WHILE NOT Rs.EOF
file1="./seminars/"&seminar_type&"/"&seminar_year&"/"&Rs("date")&"-"&Rs("year")&"_"&Rs("last")&".pdf"

Seminar_year と Seminar_type は、私が初期化し、seminar_year = 2011 および Seminar_type = section1 と宣言した定数です。

SQL_Command_String が LIKE ステートメントで台無しになっていると思います。適切に使用されているかどうかはわかりません。日付に 2011 を含むセルを検索したいのですが、日付の月と日の部分にワイルドカードを含める必要があるかどうか、もしそうならワイルドカードを含める必要があるかどうかわかりません。

Rs の宣言 (Set) をコメント アウトすると、ページが正常に読み込まれます (テーブルに入力されていないことを除く)。含まれている場合に表示されるエラーは、「URL の処理中にサーバーでエラーが発生しました。システム管理者に連絡してください。システム管理者の場合は、ここをクリックしてこのエラーの詳細を確認してください。」

ここでは、既に説明した OS IIS 7 の実行に関するマイクロソフトのページに移動します。

私はこれに本当に困惑しています.SQLコマンドが間違っている、出ている新しいフレームワークとの競合がある、またはリーダーを正しく宣言していないか、正しいタイプのリーダーを使用していない可能性があります. .

SOコミュニティが持っている洞察をいただければ幸いです。ありがとうございます。私は VBscripts の初心者です。

4

2 に答える 2

2

部品を取り外して、AND Table2.Date LIKE '2011'動作するかどうかを確認してください。日付列がchar型ではなく日付または日時データ型であるためだと思います。LIKE は char データ型でのみ機能すると思うのでTable2.Date >= '1/1/2011' AND Table2.Date <= '12/31/2011'、使用しているデータベースに応じて、実際の日付比較などを行う必要があります。

于 2012-06-19T20:56:29.283 に答える
0

問題のあるコードを見つけました。

Set Rs = SQLConnection.Execute(SQL_Command_String)

リーダーを使用する場合、Set キーワードは使用できません。これを裏付けるドキュメントは見つかりませんでしたが、セットを削除すると問題が解決しました。

接続コードの残りの部分は正しいです。ご意見をお寄せいただきありがとうございます。

于 2012-06-20T19:21:07.200 に答える