从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驱动程序] [SQLSERVER] DE INSERT-INSTRUCTIE bevat Meer Kolommen dan er waarden eer waarden zijn opgegeven在de values-component中。 De componment Moet overeenkomen中的het aantal waarden在de 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>
找到它:看看第二个参数,最后一个字符:
<cfqueryparam cfsqltype="cf_sql_integer" value="#laatste#">),
这是一个典型:-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" >
)
不隶属于 StackOverflow