2
<cfquery name="LOCAL.qrySelEvents" datasource="#variables.datasourceSettings.getDatasourceName()#" result="LOCAL.qryData" >
    SELECT evt_id, 
           acnt_dba_name,
           form_id,
           '#application.portals.data[request.applicationName].profileRootPath#form/index.cfm' 
               || CHAR(63) 
               || 'PKformID= ' 
               || #preserveSingleQuotes(LOCAL.formIdSql)# AS primaryFormURL,
    FROM    events
</cfquery>

#application.portals.data[request.applicationName].profileRootPath#form/index.cfm を char(32) および PKformID= ' || と連結する必要があります。#preserveSingleQuotes(LOCAL.formIdSql)#. ||postgres の演算子を使用しました。しかし、それは私にエラーを与えています:

エラー: "||" またはその付近で構文エラーが発生しました

これで私を助けてもらえますか?

4

3 に答える 3

3

select 句の最後の行には、最後にコンマがあります。

于 2013-01-07T13:27:27.737 に答える
1

OK、エラーメッセージと同様に、電源を入れていればROBUST EXCEPTION HANDLING(CFAdmin にあります)、CF がサーバーに渡していた SQL を取得する必要があります。これにより、構文エラーが SQL のどこにあるかがわかります。また、常にこの情報を質問に投稿する必要があります。そのため、問題が表示されなくても、他の誰かが表示できる可能性があります。

今、私はこれが原因だと思います:

#preserveSingleQuotes(LOCAL.formIdSql)#

文字列として処理する必要があります (これはそうです)。その場合、DB が文字列として認識できるように引用符を付ける必要があります。いいえ:

'#preserveSingleQuotes(LOCAL.formIdSql)#'

その値全体に DB 中心の参照がない場合:

`'#application.portals.data[request.applicationName].profileRootPath#form/index.cfm' || CHAR(63) || 'PKformID= ' || '#preserveSingleQuotes(LOCAL.formIdSql)#'`

なぜそれを SELECT クエリに含める必要があるのか​​疑問です。基本的には、値を SQL サーバーに渡し、後で再び取得するだけです。だから私はここで何かがおかしいと思う。ここで実際に何をしようとしていますか?

于 2013-01-07T13:11:23.670 に答える
0

Yaは最終的にこれの答えを得ました.CHAR(63)はこれで問題を引き起こしています.Sql-server CHARはASCIIから文字を与える関数であり、postgresqlではASCIIから文字を与えるためにCHR()関数が利用可能です. したがって、新しいクエリは次のとおりです。

<cfquery name="LOCAL.qrySelEvents" datasource="#variables.datasourceSettings.getDatasourceName()#" result="LOCAL.qryData" >
    SELECT evt_id, 
           acnt_dba_name,
           form_id,
           '#application.portals.data[request.applicationName].profileRootPath#form/index.cfm' 
               || CHR(63) 
               || 'PKformID= ' 
               || #preserveSingleQuotes(LOCAL.formIdSql)# AS primaryFormURL
    FROM    events
</cfquery>

ご支援いただきありがとうございます。

于 2013-01-09T10:13:29.660 に答える