Ben*_*ock 2 sql sql-server coldfusion
我的ColdFusion代码遇到了一些问题,我有一个简单的表单,我想要它做的就是将值添加到数据库中.我一直收到错误:"错误代码206 [Macromedia] [SQLServer JDBC驱动程序] [SQLServer]操作数类型冲突:int与文本不兼容"
这是我的代码:
<div class="form">
<form method="post" name="color">
ID:
<input type="text" name="id" id="id">
Color Name:
<input type="text" name="color" id="color">
Hex Value:
<input type="text" name="hex" id="hex">
<input type="submit" value="Submit">
</form>
</div>
<div>
<cfif structKeyExists(form, "color")>
<cfquery datasource="bentest" name="insertColor">
USE [benTest]
INSERT INTO color_codes
(id ,color, hexvalue)
VALUES
(#form.id#, '#form.color#', #form.hex#)
</cfquery>
<p>You've added a color to the database!</p>
</cfif>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我从#form.color#中删除单引号,我会收到"无效的列名"(我输入的内容)'."
小智 8
如果数据库中的hexvalue字段是文本字段,例如nvarchar,varchar,text,那么至少你需要在变量周围引用... ie
<cfquery datasource="bentest" name="insertColor">
USE [benTest]
INSERT INTO color_codes (id ,color, hexvalue)
VALUES (#form.id#, '#form.color#', '#form.hex#')
</cfquery>
Run Code Online (Sandbox Code Playgroud)
但是我强烈建议你也参考cfqueryparam,即
<cfquery datasource="bentest" name="insertColor">
USE [benTest]
insert into
[color_codes] (
[Id],
[Color],
[HexValue]
)
values (
<cfqueryparam value="#Form.Id#" cfquerytype="cf_sql_integer">,
<cfqueryparam value="#Form.Color#" cfquerytype="cf_sql_varchar">,
<cfqueryparam value="#Form.Hex#" cfquerytype="cf_sql_varchar">
)
</cfquery>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |