我有以下设置:
经过长时间的试用和错误后,我现在可以将登录内容设置为asked earlier,但是当我尝试按代码设置晶体参数时 - 它不起作用,我得到一个空的报告。
我写了一个小应用程序进行测试(这里只是一个片段):
for i:=1 to FParamFldDefs.Count do begin
FParFldDef := FParamFldDefs.Item[i];
FParFldDef.ClearCurrentValueAndRange;
if ParFieldName = 'User' then
FParFldDef.AddCurrentValue('hugo')
else if ParFieldName = '@P_Date' then
FParFldDef.AddCurrentValue('2009.06.30')
if FParFldDef.IsDefaultValueSet then
ShowMessage('DefaultValue: ' + FparFldDef.GetNthDefaultValue(1));
//--> on loop 1 i=1 this does not show up because IsDefalutValueSet = FALSE
//--> on lopp 2 i=2 this does show '2009.06.30'
if FParFldDef.IsCurrentValueSet then
ShowMessage('CurrentValue: ' + FparFldDef.GetNthCurrentValue(1));
//--> on loop 1 i=1 this does show 'hugo'
//--> on lopp 2 i=2 this does not show because IsCurrentValueSet = False
end;
ShowMessage(FldDef.SQLQueryString); //this shows all
//stored procedure parameters empty
现在我已经设法设置了CurrentValues(必须保存有问题的报告版本11 - 它之前是版本9)因为IsCurrentValueSet返回True但是当我尝试读取SQLQueryString时我可以看到所有SP参数是NULL。有什么想法?
答案 0 :(得分:0)
日期值的格式可能有问题。您是否尝试过使用07/02/2009或07/02/2009 12:00 AM?
答案 1 :(得分:0)
我见过光!如果像我这样的人被迫处理Delphi 5和Crystal XI RDC - 这就是我所做的:
先决条件:
首先,你必须:
完成后,您可以使用Joseph Styons wrapper class,就可以了。 如果你也有一个从SQL存储过程获取数据的报告,只需设置这些参数(它们的名称以“@”开头)就像任何其他Crystal参数一样。
就是这样,我希望这对某人有用。
现在我要喝点啤酒了!
干杯, 莱因哈德