Question

Je suis en train d'exécuter le CFML suivant:

<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>

Cela jette l'erreur suivante (ma version du serveur SQL est hollandais):

  

[Macromedia] [SQL Server JDBC Driver] [SQL Server] De INSERT-instructie Bevat meer dan kolommen er waarden zijn opgegeven dans de VALUES composants. Het aantal waarden dans de VALUES composants overeenkomen de moet het aantal rencontré dans kolommen de INSERT-instructie.

Ceci est essentiellement traduit comme suit: L'instruction INSERT contient plus de colonnes comme il y a des valeurs spécifiées dans l'instruction VALUES. Le nombre de champs dans l'instruction VALUES doit être égal au nombre de champs dans l'instruction INSERT.

Qu'est-ce que je fait de mal?

Edit:

Les guillemets simples ne aident pas, comme dans:

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>

Trouvé il: jeter un oeil au second paramètre, le dernier caractère:

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

Il était une typ0: -S

Était-ce utile?

La solution

Vous avez un parenthessis supplémentaire à la fin du second paramètre. Dans l'ensemble:

<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" >
      )

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top