fri*_*iwi 1 coldfusion sql-server-2000 coldfusion-9
我正在尝试执行以下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>
Run Code Online (Sandbox Code Playgroud)
这会引发以下错误(我的SQL服务器版本是荷兰语):
[Macromedia] [SQLServer JDBC驱动程序] [SQLServer] de VALERT-instructie bevat meer kolommen dan er waarden zijn opgegeven in de VALUES-component.Het aantal waarden in de VALUES-component moet overeenkomen在de INSERT-instructie遇到了het aantal kolommen.
这基本上翻译如下:INSERT指令包含更多列,因为VALUES语句中指定了值.VALUES语句中的字段数必须等于INSERT语句中的字段数.
我做错了什么?
单引号没有帮助,如:
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>
Run Code Online (Sandbox Code Playgroud)
找到它:看看第二个参数,最后一个字符:
<cfqueryparam cfsqltype="cf_sql_integer" value="#laatste#">),
Run Code Online (Sandbox Code Playgroud)
这是一个典型的:-S
在第二个参数的末尾有一个额外的父级.总而言之:
<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" >
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |