gpt4 book ai didi

coldfusion - 在数据库中插入数据时处理空值

转载 作者:行者123 更新时间:2023-12-03 15:08:19 24 4
gpt4 key购买 nike

我有以下 cfquery :

<cfquery name="CQuery" datasource="XX.X.X.XXX">
INSERT INTO DatabaseName
(PhoneNumber_vch,
Company_vch,
date_dt)

VALUES(#PhoneNumber#,
#Company#,
#Date# )

</cfquery>

如果公司名称不存在,则有空值,我相信因为我收到以下错误:
 Error Executing Database Query.
[Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near ','.

逗号 ,错误消息中指出是在 #Company# 之后 field 。请让我知道这是因为空值和修复它的最佳方法吗?

PhoneNumber、company 和 Date 中的值是从 XML SOAP 响应中提取的,并正确使用了我在上一篇文章中讨论的 trim 函数。

Using cfif in coldfusion

谢谢

最佳答案

如果您像在任何接受动态参数的数据库 SQL 上一样使用 CFQueryParam,您可以用一 block 石头杀死两只鸟。首先也是最重要的,防止 SQL 注入(inject)攻击,其次您可以使用 null=""的属性将 NULL 值插入到您的记录中。

 <cfquery name="CQuery" datasource="XX.X.X.XXX">
INSERT INTO DatabaseName (PhoneNumber_vch, Company_vch, date_dt)
VALUES(
<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(PhoneNumber)#" null="#NOT len(trim(PhoneNumber))#" />
,<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(Company)#" null="#NOT len(trim(Company))#" />
,<cfqueryparam cfsqltype="cf_sql_timestamp" value="#Date#" null="#NOT len(trim(Date))#" />
)
</cfquery>

关于coldfusion - 在数据库中插入数据时处理空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19692565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com