1

私が持っているのは、別の Web アプリに関する通知を受け取るユーザーを管理するためのフォームです。それは非常に簡単です: 通知を受け取る人を追加および削除します。削除フィールドにはjQueryオートコンプリート機能があり、選択するとユーザーに削除の確認を求めます。はいの場合、coldfusion ファイルへの jQuery .ajax() 呼び出しを実行して、Oracle データベースからユーザーを削除します。この機能は正常に機能します。add フィールドには、追加を確認する jQuery .change() イベントがあります。はいの場合、ユーザーの電子メールと自動インクリメント ID を追加する必要があります。これが私の問題です。サーバーからデータベース エラーが発生しましたが、その理由がわかりません。構文は私には正しいようです。アプリの他の場所でこの構文を使用しましたが、うまくいきました。誰かが私の問題を見ていますか?

<cftry>
<cfif IsDefined('URL.theAction') && URL.theAction eq 'delete'>
    <cfquery name="qDeleteUser" datasource="#thedb#">
        DELETE
        FROM notify
        WHERE user_id = <cfqueryparam value="#URL.theID#" cfsqltype="CF_SQL_NUMERIC">
    </cfquery>
<cfelse>
    <cfquery name="qAddUser" datasource="#thedb#">
        INSERT INTO notify (user_id, name)
        VALUES (seq_notifyid,
        <cfqueryparam value="#URL.theName#" cfsqltype="CF_SQL_VARCHAR">)
    </cfquery>
</cfif>

キャッチはこれを生成します:

エラーコード: 984

メッセージ: [Macromedia][Oracle JDBC Driver][Oracle]ORA-00984:ここでは列を使用できません

:0

ライン:9

4

2 に答える 2

3

私はこれがばかげていることを知っていました。自動インクリメントフィールドを実際に自動インクリメントすると役立ちます。( .nextVal )

VALUES (seq_notifyid.nextVal,
于 2012-09-10T13:46:23.013 に答える
1

INSERTステートメントの右括弧がありません

<cfquery name="qAddUser" datasource="#thedb#">
        INSERT INTO notify (user_id, name)
        VALUES (seq_notifyid,
        <cfqueryparam value="#URL.theName#" cfsqltype="CF_SQL_VARCHAR">     
 </cfquery>
于 2012-09-10T13:34:28.713 に答える