【发布时间】:2012-08-29 14:22:25
【问题描述】:
我有一个在 Microsoft SQL Server 中运行良好并返回预期结果的表连接。
SELECT d.id1, c.content_type
FROM Document2 AS d INNER JOIN
Content2 AS c ON d.content_id = c.content_id
WHERE (d.class_id = 1)
但是,当我将语句放入 ColdFusion CFC 时,该语句将不会执行,并且我没有得到任何返回。 CFC 文件中的语法是否更改? Microsoft SQL 语法与 ColdFusion CFC 语法不同吗?还是我在这里错过了其他东西?
这是相关功能。如果我使用不是表连接的简单 SQL 语句,我可以让这段代码工作。但是,当我插入表连接语句时,什么都不会返回。
remote array function getcontent() {
var q = new com.adobe.coldfusion.query();
q.addParam( name="searchParam", value="#searchName#" );
q.setDatasource("Document");
q.setSQL("SELECT d.id1, c.content_type FROM Document2
AS d INNER JOIN
Content2 AS c ON d.content_id = c.content_id WHERE (d.class_id = 1)");
var data = q.execute().getResult();
var result = [];
for(var i=1; i<= data.recordCount; i++) {
arrayAppend(result, {"id"=data.d.id1[i], "Type"=data.c.content_type[i]});
}
return result;
}
【问题讨论】:
-
您是否尝试过简单地转储“数据”以查看查询是否包含任何记录?
-
“Microsoft SQL 语法与 Coldfusion cfc 语法不同吗?” - 没有“coldfusion cfc 语法”。 ColdFusion 将您提供的 SQL 传递给数据库。确保您的数据源指向的数据库与您的 MSQL Studio 指向的数据库相同。
-
实际上,“data.d.id1”是怎么回事 - 那将是不起作用的 - 请参阅下面的答案以了解详细信息...
标签: sql sql-server database coldfusion cfc