当我返回查询结果时,我遇到了 Coldfusion 2018 的问题,它显示如下
问题是括号中出现空值,这很奇怪,以前的coldfusion版本从来没有这样显示过,当值为空时,实际上是在抛出空指针异常问题
任何想法,我该如何解决
我正在尝试使用 REreplace 从字符串中删除重音符号,但它不起作用。
\n这是字符串:
\nAlertas del Condado: Por favor, h\xc3\xa1ganos saber si usted recibe este mensaje. Gracias.\nRun Code Online (Sandbox Code Playgroud)\n尝试删除“h\xc3\xa1ganos”中的重音符号并将其替换为“a”。
\n这是代码:
\nRereplace(trans_sms, '\xc3\xa1', 'a', 'all')\nRun Code Online (Sandbox Code Playgroud)\ntrans_sms绳子在哪里。
我一直在尝试搜索,但无法弄清楚为什么它没有被替换。
\n预先感谢任何人的帮助!
\nSerializeJSON我对CFQUERY 的输出感到困惑。下面的代码:
<cfsetting showdebugoutput="yes">
<cfheader name="Content-Type" value="application/json">
<cftry>
<cfquery name="GetData" datasource="dsn">
with cte as (
select distinct ZipCode from db.dbo.table1 where ZipCode in (#URL.Zip#)
)
SELECT
cte.ZipCode
, '##' + CONVERT(VARCHAR(max), CRYPT_GEN_RANDOM(3), 2) as Color
from cte
</cfquery>
<cfoutput>
#SerializeJSON(GetData)#
</cfoutput>
<cfcatch type="any">
Error: <cfoutput>#cfcatch.message#</cfoutput>
</cfcatch>
</cftry>
Run Code Online (Sandbox Code Playgroud)
创建此输出:
{"COLUMNS":["ZIPCODE","COLOR"],"DATA":[["54814","#3269B7"],["60050","#DC3E08"]]}
Run Code Online (Sandbox Code Playgroud)
当#URL.ZIP#变量 =60050,54814
我需要该DATA组件将 JSON 格式化为邮政编码作为键,颜色代码作为数据值。
我怎么知道SerializeJSON我需要这样呢?
谢谢
任何人都可以查看此代码并告诉我为什么我得到变量ID未定义错误?
<cffunction name="login" access="public" returntype="void">
<cfargument name="rc" type="struct" required="true">
<cfset user = getUserService().login(arguments.rc.Username,arguments.rc.password)>
<cfif isDefined('User')>
<cfset session.auth = structNew()>
<cfset session.auth.isLoggedin = "yes"/>
<cfset session.auth.user = user />
<cfset session.auth.id = id>
<cfset session.auth.username = UserName />
<cfset session.auth.password = password />
<cfelse>
<cfset rc.message = createMessage('error','','entered password is wrong')>
<cfset variables.fw.redirect('login.default','message')>
</cfif>
<cfset variables.fw.redirect('')>
</cffunction>
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一些旧的代码,我发现了几个嵌套循环实例,其中用于迭代对象的变量在内部循环中重新分配,但它不会导致问题.例如,给出以下内容example.cfm:
<cfscript>
// Get every second value in an array of arrays
function contrivedExampleFunction(required array data) {
var filtered = [];
for (i = 1; i lte arrayLen(arguments.data); i++) {
var inner = arguments.data[i];
for (i = 1; i lte arrayLen(inner); i++) {
if (i eq 2) {
arrayAppend(filtered, inner);
}
}
}
return filtered;
}
data = [
[1,2,3],
[4,5,6],
[7,8,9]
];
// Expected (working function): [2, 5, 8]
// Expected (short-circuiting): [2]
// Actual result: [1, …Run Code Online (Sandbox Code Playgroud) 我在标签格式中很好地工作,但我正在尝试将所有内容迁移到cfscript中.我怎么能这样做?(基本上,它从date1到date2循环,并且需要以15分钟为间隔.
<cfset from=now()>
<cfset to=dateadd("d", 1, from)>
<cfloop from="#from#" to="#to#" index="i" step="#CreateTimeSpan(0,0,15,0)#">
...stuff...
<cfloop>
Run Code Online (Sandbox Code Playgroud)
这是如何指定让我的步骤位...
sel_prod_dt = "select distinct change_app_code, change_number "
& " \<cfif NDA_check eq "
&'"Y"'
&"> FROM db.tb tb"
&"\<cfelse\>FROM db.tb2 PC\<\/cfif\>"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
语法错误,在单词'change_number'和请求结束之间需要类似名称或Unicode分隔符的标识符.
有谁可以帮助我这方面..
什么是最好的方式做我所做的<cfquery>,即使在queryExecute
CFQUERY
<cfquery name="qry">
SELECT * FROM tbl_products
WHERE filed1 = 1
<cfif structKeyExists(URL, "test")>
AND filed2 = 2
</cfif>
ORDER BY id DESC
</cfquery>
Run Code Online (Sandbox Code Playgroud)
cfexecute
<cfscript>
sql = "
SELECT * FROM tbl_products
WHERE filed1 = 1
ORDER BY id DESC
";
if (structKeyExists(URL, "test")){
sql = "
SELECT * FROM tbl_products
WHERE filed1 = 1
AND filed2 = 2
ORDER BY id DESC
";
}
qry = queryExecute(
sql = sql
);
</cfscript> …Run Code Online (Sandbox Code Playgroud) 我有一个表单,用户必须从列表中选择值.列表由管理员创建.在其中一个列表中,有一个选项供用户选择NO代表某些保留代码的值.有点像Not Occupied.所以我使用JQuery和AJAX与服务器进行通信.在后端我在生产服务器上使用ColdFusion 9.所以为了带回来,NO我必须将其转换'NO '为空间.如果我不这样做,则会false在客户端返回值.以下是我的代码转换示例:
<cfset convertYesNo = {
YES : "YES ",
NO : "NO "
}>
<cfset qryRecs['value'] = URLEncodedFormat(structKeyExists(convertYesNo, myInfo[CurrentRow]) ? convertYesNo[myInfo[CurrentRow]] : myInfo[CurrentRow])>
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的开发网站上运行良好.唯一的区别是,在发展我们的ColdFusion 10和现场我们的ColdFusion 9,所以一旦我搬到一起住,我开始收到错误消息的代码:
ColdFusion was looking at the following text:<p>{</p><p>The CFML compiler was processing:<ul><li>A cfset tag beginning on line 1071, column 18.<li>A cfset tag beginning on line 1071, column 18.
<pre>1069 : }>
1070 :
<b>1071 : <cfset convertYesNo = {</b>
1072 : "Yes" …Run Code Online (Sandbox Code Playgroud) Lucee 5.2,SQL Server 2014
我有一个表单,不会将新记录插入我的SQL Server 2014数据库.
我已经研究了这个问题几天几夜,无法弄清楚发生了什么.我没有收到任何类型的错误消息.我填写表单,单击"提交"按钮,然后返回到空白表单.没有记录插入数据库表.
我在下面测试了我的代码的删节版本,但我仍然得到相同的结果:没有插入; 并且Lucee根本没有给我任何错误信息.
<!--- set a default value "" for RegisterID in scope URL --->
<cfparam name="url.RegisterID" default="">
<!--- define the RegisterID in scope FORM, then set form.RegisterID equal to the RegisterID passed in the URL --->
<cfparam name="form.RegisterID" default="#url.RegisterID#">
<!--- set default values for other user-editable fields --->
<cfparam name="form.Title" default="">
<cfparam name="form.x_first_name" default="">
<cfparam name="form.DateCreated" default="">
<cfparam name="form.DateModified" default="">
<!--- query editRegister tells Lucee which record to edit--->
<cfquery datasource="nnvawi" name="editRegister"> …Run Code Online (Sandbox Code Playgroud) cfml ×10
coldfusion ×10
coldfusion-9 ×3
cfc ×1
cfexecute ×1
cfloop ×1
database ×1
forms ×1
lucee ×1
null ×1
sql ×1
sql-server ×1