Esecuzione di query SQL Server 2000 all'interno di ColdFusion
-
28-09-2019 - |
Domanda
Sto cercando di eseguire il seguente 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>
Questo getta il seguente errore (la mia versione di SQL Server è olandese):
[Macromedia] [SQLServer driver JDBC] [SQLServer] De INSERT-instructie bevat meer dan kolommen er Waarden zijn opgegeven in de VALORI-componente. Het Aantal Waarden in de VALORI componenti overeenkomen Moet incontrato het Aantal kolommen in de INSERT-instructie.
Questo è fondamentalmente tradotto come segue: L'istruzione INSERT contiene più colonne quanti sono i valori indicati nella dichiarazione VALORI. Il numero di campi nel prospetto I valori devono essere uguale al numero di campi nel INSERT.
Che cosa ho fatto di sbagliato?
Modifica:
Gli apici singoli non aiutano, come in:
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>
Trovato esso: date un'occhiata al secondo parametro, ultimo carattere:
<cfqueryparam cfsqltype="cf_sql_integer" value="#laatste#">),
E 'stata una typ0: -S
Soluzione
Hai parenthessis extra alla fine del secondo parametro. Tutto sommato:
<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" >
)