【发布时间】:2012-06-26 17:29:02
【问题描述】:
在下面的查询中,我不断收到此错误:
Cannot read the next data row for the dataset DataSetProject. (rsErrorReadingNextDataRow)
这似乎是 where 子句,如果我把它拿出来似乎可以工作。所以我在 where 子句中添加了一个演员,但没有运气。在 where 子句中我需要做一些特别的事情来让它工作吗?仅供参考,这是在从 url 中提取 id 的报告中。
SELECT new_projects.new_projectsId AS ProjectId
, new_projects.new_name AS ProjectName
, new_projects.new_Description AS ProjectDescription
FROM
new_projects
LEFT OUTER JOIN new_projectsteps
ON new_projects.new_projectsId = new_projectsteps.new_ProjectSteps2Id
LEFT OUTER JOIN Task
ON new_projectsteps.new_projectstepsId = Task.RegardingObjectId
WHERE
(new_projects.new_projectsId = cast(@id AS UNIQUEIDENTIFIER))
谢谢!
编辑:
SQL 中的 id 是唯一标识符,@id 的值是从查询字符串(url)中提取的。所以它看起来像:&id='BC02ABC0-A6A9-E111-BCAD-32B731EEDD84'
抱歉,缺少信息。
【问题讨论】:
-
如果没有演员表也能工作,你为什么要演员表?
@id的值是多少? -
没有演员表就不行。它可以在没有 while where 语句的情况下工作
-
我们不知道
new_projectsId是什么(什么类型),我们也不知道您作为@id传递的内容 - 我们应该如何知道如何告诉您修复它? We're not mind readers;如果您希望我们为您提供帮助,请向我们提供相关信息。 -
所以显示
@id的声明以及如何填充它。
标签: sql-server sql-server-2008 tsql reporting-services ssrs-2008