首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问cfprocresult名称在cfif中的结果集值

访问cfprocresult名称在cfif中的结果集值
EN

Stack Overflow用户
提问于 2014-02-04 09:04:39
回答 1查看 625关注 0票数 1

我是ColdFusion的新手,我想从ASP.NET重写我的项目,逐步学习ColdFusion。

我的Server身份验证存储过程(ASP.NET)如下所示:

代码语言:javascript
复制
CREATE PROCEDURE sp_auth
@suser  VARCHAR(20),
@spswd  VARCHAR(20)
AS
SELECT COUNT(*) FROM Users.SUsers WHERE suname=@suser AND supasswd=@spswd AND off_bit=0
GO

Application.cfc片段。

代码语言:javascript
复制
<cfstoredproc procedure="sp_auth" datasource="cftraderelay">
<cfprocparam value="#cflogin.name#" cfsqltype="CF_SQL_VARCHAR" maxlength="20" type="in">
<cfprocparam value="#cflogin.password#" cfsqltype="CF_SQL_VARCHAR" maxlength="20" type="in">
<cfprocresult name="auth_pass" maxrows="1">
</cfstoredproc>


<cfif auth_pass GTE 1>
<cfloginuser name="#cflogin.name#" password = "#cflogin.password#" roles="#roles#"> 
<cfelse>
<cfoutput>
<h2>Your login information is not valid.<br> Please Try again</h2> 
</cfoutput>
<cfinclude template="login.cfm">
<cfabort>
</cfif>

什么是“auth_pass GTE 1”逻辑的正确形式?如何访问'auth_pass‘的值。因为我得到“复杂的对象类型不能转换为简单的值”错误到目前为止。

严格地说,在这种情况下,我应该使用out类型的cfprocparam,而不是cfprocresult (修改输出变量的SQL查询)吗?

我可以在cfif语句中访问cfprocresult值吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-04 09:14:02

auth_pass包含一个记录集,而不是一个数字,所以您不能将它与1进行比较。

检查变量内容的最佳工具是。如果遇到问题而无法猜出解决方案,请熟悉您正在使用的代码的文档,例如:、、 (查询对象的详细信息)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21548007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档