gpt4 book ai didi

coldfusion - 从 cfscript 中的 Coldfusion newQuery() 获取结果元数据

转载 作者:行者123 更新时间:2023-12-01 00:52:28 24 4
gpt4 key购买 nike

关于 CFscript 的文档在文档中有点稀疏,在 CF 标签答案中搜索特定于 cfscript 的答案会丢失。所以这是我的问题:

如何从使用脚本执行的查询中获取结果元数据?使用标签我可以添加 result="myNamedResultVar"到我的 cfquery。然后我可以引用查询 name数据,或 myNamedResultVar对于某些元数据。但是,现在我尝试在脚本中编写所有内容,因此我的组件是基于脚本的,自上而下的。我最终要的是从 MySQL 插入中最后插入的 Id。该 ID 存在于 result 中元数据。

myNamedResultVar.getPrefix().generatedkey

这是我的查询代码:
public any function insertUser( required string name, required string email, required string pass ) {
// insert user
var sql = '';
var tmp = '';
var q = new query();

q.setDatasource( application.dsn );

q.addParam(
name='name'
,value='#trim( arguments.name )#'
,cfsqltype='CF_SQL_VARCHAR'
);
q.addParam(
name='email'
,value='#trim( arguments.email )#'
,cfsqltype='CF_SQL_VARCHAR'
);
q.addParam(
name='pass'
,value='#hashMyString( arguments.pass )#'
,cfsqltype='CF_SQL_VARCHAR'
);


sql = 'INSERT INTO
users
(
name
,email
,pass
,joined
,lastaccess
)
VALUES
(
:name
,:email
,:pass
,CURRENT_TIMESTAMP
,CURRENT_TIMESTAMP
);
';

tmp = q.execute( sql=sql );

q.clearParams();

}

如何指定结果数据?我试过这样的事情:
...
tmp = q.execute(sql=sql);
var r = tmp.getResult();
r = r.getPrefix().generatedkey;

q.clearParams();

return r;

但是,在插入 getResult() 上尽我所能返回一个NULL。所以 r.getPrefix().generatedkey插入后不起作用。我收到 r未定义

最佳答案

您正在收到 result首先是查询的属性,然后从中获取 prefix结果属性(property)。但这种情况并非如此。您可以直接获取prefix属性,然后生成的 key 是这样的:

tmp.getPrefix().generatedkey;

作为引用,您可以查看此博客条目: Getting the Generated Key From A Query in ColdFusion (Including Script Based Queries)

关于coldfusion - 从 cfscript 中的 Coldfusion newQuery() 获取结果元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30278590/

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