0

ASPで注文するシステムがあり、注文すると通知メールが送信されます。

注文を送信すると、エラー「80020009」が表示され、それが指す行は次のとおりです。

email_text = email_text & "<html>" & _

これは、電子メールを埋めるhtml文字列の作成を開始する単純な行です。エラー「80020009」はSQLステートメント用であると想定されていませんか?それとも私は何かが足りないのですか?

このページは引き続き続行され、注文プロセスが完了します。最初にそのエラーメッセージが表示されるだけです。

この質問はあまり詳細を提供していないことはわかっていますが、他に何を指定すればよいかわかりません。途方に暮れています。

編集:これは、その行から数行上のSQLです。これがどのように問題を引き起こすのかわからない、それはそれがその電子メール行にあると私に言っているので、それを投げ込むことは害にはならない:

str = "SELECT creation_date, supplier FROM argus.PURCHASE_ORDER WHERE purchase_order = '" & Trim(Request.Form("order_id")) & "' AND customer = '" & Session("customer_id") & "' AND store = '" & Session("store_id") & "' AND userid = '" & Session("user_id") & "'"
            Set rst = ConnFW.Execute(str)
            str2 = "SELECT a.store_name, a.address1, a.address2, a.city, a.state_cd, a.zipcode, b.customer_name, c.supplier_account FROM argus.STORE a, argus.CUSTOMER b, argus.ELIGIBLE_SUPPLIER c WHERE a.customer = b.customer AND a.customer = c.customer AND a.store = " & Session("store_id") & " AND b.customer = " & Session("customer_id") & " AND c.supplier = " & Trim(rst("supplier")) & ""
            Set rst2 = ConnFW.Execute(str2)
4

1 に答える 1

2

追加のコードを提供できますか?アンダースコアに続く行に何かがあることを確認する必要があることを除いて、コードに問題はありません。

email_text = email_text + "<html>" & _
               ""

- 編集

編集内容を投稿していただきありがとうございます。いくつかの潜在的な問題があります。2番目のレコードセットオブジェクトで、にアクセスしようとしていますrst("supplier")が、そのフィールドはまだ読み取られていません。、、、などのconnfw.execute(str)SQLステートメントの実行に使用されるwhichを使用する代わりに、 。で使用されるwhichを使用します。INSERTUPDATEDELETErst.openSELECT

次のようなものを試してください:

supplier = ""

rst.open str, connfw

if not rst.eof then
   supplier = rst("supplier")
end if

rst.close

次に、2番目のSQLステートメントでsupplierを使用します。また、qualify_supplierテーブルのsupplierフィールドが文字列の場合は、where句でそのフィールドを一重引用符で囲む必要があります。

于 2013-01-10T19:59:12.777 に答える