sql - ColdFusion 表单不向数据库提交数据

标签 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>

如果我从#form.color# 中删除单引号,我会得到“无效的列名称‘(我输入的内容)’。”

最佳答案

如果数据库中的十六进制字段是文本字段,例如nvarchar、varchar、text,那么至少你需要在变量周围加上引号……即

<cfquery datasource="bentest" name="insertColor">
    USE [benTest]

    INSERT INTO color_codes (id ,color, hexvalue)
    VALUES (#form.id#, '#form.color#', '#form.hex#')
</cfquery>

但是我强烈建议您也对它们进行 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>

关于sql - ColdFusion 表单不向数据库提交数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37285151/

相关文章:

java - 数据库管理 | SQL Server 连接错误

具有多个条件语法的 SQL Server CASE 语句

javascript - Coldfusion 异步将表单发送到 cfc

php - 日期范围正好是 1 个月的 MySQL 查询

Java JDBC 如何使用 RETURNING 语句处理更新查询

mysql - 'posts' 和 'postmeta' WordPress 表的嵌套连接查询

sql - 做性能测试时如何避免出现SQL Server的 "rebuild statistics"?

php - 使用 codeigniter 将数据上传到 MsSQL 时使用正确的参数

coldfusion - 如何从 cfscript 函数返回对象列表

pdf - 如何更改使用 DDX 文件生成的 PDF 中目录的字体?