質問

次のCFMLを実行しようとしています。

<cfquery name="koppelData" datasource="#request.DataSource#">

   INSERT INTO t_user_profile
     (Username, ProfileID, AanvraagID)
   VALUES
     (<cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.username#">,
      <cfqueryparam cfsqltype="cf_sql_integer"  value="#laatste#">),
      <cfqueryparam value="#FORM.vragenlijst#" cfsqltype="cf_sql_integer" >)
</cfquery>

これにより、次のエラーがスローされます(SQL Serverの私のバージョンはオランダ語です):

Macromedia] [SQLServer JDBC Driver] [SQLServer] DE INSERT-INSTRUCTIE BEVAT MEER KOLOMMEN DAN ER WAARDEN ZIJN OPGEGEVENのDE VALUES-Component。 De Values-Component Moet OvereenkomenのHet aantal Waardenは、insert-InstructieでHet aantal Kolommenに会いました。

これは基本的に次のように翻訳されます。挿入命令には、値ステートメントで指定された値があるため、より多くの列が含まれています。値ステートメントのフィールドの数は、挿入ステートメントのフィールドの数に等しくなければなりません。

私は何を間違えましたか?

編集:

単一の引用は役に立たない、次のように

Error Executing Database Query.

[Macromedia][SQLServer JDBC Driver]Invalid parameter binding(s).

The error occurred in C:\Users\Adm1n\Adobe ColdFusion Builder workspace\PASS\jsexec\maak_lid.cfm: line 52
50 :                                '<cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.username#">',
51 :                                <cfqueryparam cfsqltype="cf_sql_integer"  value="#laatste#">),
52 :                                <cfqueryparam value="#FORM.vragenlijst#" cfsqltype="cf_sql_integer" >
53 :                            )
54 :                    </cfquery>

それを見つけました:2番目のパラメーター、最後の文字を見てください:

<cfqueryparam cfsqltype="cf_sql_integer"  value="#laatste#">),

それはtyp0:-sでした

役に立ちましたか?

解決

2番目のパラメーターの最後に追加の親があります。概して:

<cfquery name="koppelData" datasource="#request.DataSource#">
INSERT INTO
    t_user_profile
   (Username, ProfileID, AanvraagID)
    VALUES
     (
      <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.username#">,
       <cfqueryparam cfsqltype="cf_sql_integer"  value="#laatste#">,
       <cfqueryparam value="#FORM.vragenlijst#" cfsqltype="cf_sql_integer" >
      )

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top