ColdFusion内からSQL Server 2000をクエリします
-
28-09-2019 - |
質問
次の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" >
)
所属していません StackOverflow