【发布时间】:2018-02-20 08:12:50
【问题描述】:
我正在尝试创建在文本框中具有操作链接的报告,该链接将更新数据库中的记录。首先,我创建了 datasource,并启用了“在单个事务中执行”设置。我创建了 dataset,它使用参数调用 存储过程: 然后指定参数: 我创建了最后一列是“Action”的表。
在 TextBox 属性中,在 Action 菜单中设置为转到同一报表并将参数值设置为表中的值:
问题是它只工作一次,如果我再次单击同一字段,则不会执行 procedure。我猜这个参数没有设置,但我不确定。
更新:
玩了一段时间后,我看到,该变量已设置,因此问题不在变量中。此外,如果我单击另一行,则该行将按预期更新。之后我也可以更新第一行,所以问题是我不能一次更新同一行两次。
CREATE PROCEDURE [dbo].[change_salesperson_status]
@code AS CHAR(5)
AS
BEGIN
INSERT INTO dbo.test VALUES (@code);
IF (@code = 'test') RETURN 1;
UPDATE dbo.salespersons
SET status_code = CASE WHEN status_code = 'I' THEN 'A' ELSE 'I' END
WHERE code = @code;
END;
GO
CREATE TABLE dbo.test
(
a VARCHAR(200)
)
更新 2: 我能够解决这个问题。我已经添加了默认值 =NOW() 的内部日期时间变量,这迫使 SSRS 每次都刷新报告。
【问题讨论】:
标签: sql-server reporting-services ssrs-2012