ColdFusion对象到字符串
我对ColdFusion非常陌生,我正试图从数据库中提取数据并将其发送到我创建的电子邮件功能中ColdFusion对象到字符串,coldfusion,railo,Coldfusion,Railo,我对ColdFusion非常陌生,我正试图从数据库中提取数据并将其发送到我创建的电子邮件功能中 myQry = new Query(); myQry.setSQL("select * from stocknotifications LEFT JOIN options ON stocknotifications.stocknotification_id = options.option_id ORDER BY stocknotification_id DESC LIMIT 1 "); //set
myQry = new Query();
myQry.setSQL("select * from stocknotifications LEFT JOIN options ON stocknotifications.stocknotification_id = options.option_id ORDER BY stocknotification_id DESC LIMIT 1 "); //set query
qryRes = myQry.execute();
writedump(qryRes.getResult(), false);
Mail = variables.NotificationService.newMail();
Mail.setTo("bfrench@destinationcms.co.uk");
Mail.setSubject( "New Stock Request" );
// render body with layout which uses the rc.emailView
Mail.setBody(ToString(qryRes.getResult()));
variables.NotificationService.sendMail( Mail );
My WriteUp()工作并显示表中的最后一项。唯一的问题是我无法将它传递到setBody()中,否则它会抛出错误
无法将复杂对象类型查询强制转换为字符串
使用内置函数“序列化(查询):字符串”从查询创建字符串
有什么想法吗 根据您收到的错误消息,您实际上可以用serialize替换toString,这样您就可以开始了 如果您想要的只是将数据发送到电子邮件,而不关心显示,快速且肮脏,您可能需要尝试
SerializeJSON()
;它将查询
转换为JSON
字符串,其中包含列
和数据
:
Mail.setBody(SerializeJSON(qryRes.getResult()));
根据您收到的错误消息,您实际上可以用serialize替换toString,这样就可以开始了 如果您想要的只是将数据发送到电子邮件,而不关心显示,快速且肮脏,您可能需要尝试
SerializeJSON()
;它将查询
转换为JSON
字符串,其中包含列
和数据
:
Mail.setBody(SerializeJSON(qryRes.getResult()));
最简单的方法是使用cfsavecontent。我不确定是否有这个脚本版本,所以我将向您展示如何将is与标记一起使用。您已经有一个名为qryRes的查询结果
<cfsavecontent variable = "eMailBody">
<cfoutput query = "qryRes">
#field1#, #field2# etc
</cfoutput>
</cfsavecontent>
如果您想以html格式发送电子邮件,请在cfsavecontent块中放置适当的html标记。否则,请注意源代码的carraige返回。它们包含在由cfsavecontent生成的变量中。对于上面的代码示例,正文顶部将有3个空行,数据行将以双倍间距排列。最简单的方法是使用cfsavecontent。我不确定是否有这个脚本版本,所以我将向您展示如何将is与标记一起使用。您已经有一个名为qryRes的查询结果
<cfsavecontent variable = "eMailBody">
<cfoutput query = "qryRes">
#field1#, #field2# etc
</cfoutput>
</cfsavecontent>
如果您想以html格式发送电子邮件,请在cfsavecontent块中放置适当的html标记。否则,请注意源代码的carraige返回。它们包含在由cfsavecontent生成的变量中。对于上面的代码示例,您将在正文顶部获得3个空行,数据行将以双倍间距排列。serialjson()?甚至可能
qryRes.getResult()返回无法自动转换为字符串的查询对象。您必须将其转换为json或其他格式(如html)才能将其用作纯文本。不过,如果他们不想编写自己的格式,他们可以将其writedump()
写入电子邮件。serialjson()?甚至可能qryRes.getResult()返回无法自动转换为字符串的查询对象。您必须将其转换为json或其他格式(如html)才能将其作为纯文本使用。但是,如果他们不想编写自己的格式,他们可以将其转换为电子邮件。CFScript版本为:savecontent variable=“sText”{WriteOutput(“Blah”);}
CFScript版本为:savecontent variable=“sText”{WriteOutput(“Blah”);}