我有一个命令行实用程序,可生成一个简单的水晶报告。我最近使用Visual Studio 2008迁移器将项目从.NET 1.1更新到.NET 3.5,现在我收到了一个我以前从未收到过的错误。
问题出在work_order公式中,如下所示:
stringVar nvl_ship_wrk_id := "0";
stringVar nvl_ship_wrk_seq := "0";
If Not IsNull({FeedBOLInput.ShipWrkId}) Then
nvl_ship_wrk_id := {FeedBOLInput.ShipWrkId};
If Not IsNull({FeedBOLInput.ShipWrkSeq}) Then
nvl_ship_wrk_seq := {FeedBOLInput.ShipWrkSeq};
nvl_ship_wrk_id & " - " & nvl_ship_wrk_seq;
错误是:
- InnerException {"A string is required here.
Error in File C:\\...\\temp_88c50533-02c6-4973-ae06-ed0ab1a603ac {0D5E96FB-038A-41C5-93A7-A9D199961377}.rpt:
Error in formula <work_order>.
'stringVar nvl_ship_wrk_id := \"0\";
'
A string is required here."} System.Exception {System.Runtime.InteropServices.COMException}
有谁知道这可能是什么?我没有线索了。数据集正确进入 - 错误似乎指向仅初始化变量的行。
答案 0 :(得分:7)
您可以尝试将{FeedBOLInput.ShipWrkId}和{FeedBOLInput.ShipWrkSeq}转换为字符串,以确保它以字符串形式出现。
我不确定为什么你的东西不起作用,但看看以下是否适合你。
stringVar nvl_ship_wrk_id := "0";
stringVar nvl_ship_wrk_seq := "0";
If Not IsNull({FeedBOLInput.ShipWrkId}) Then
nvl_ship_wrk_id := CStr({FeedBOLInput.ShipWrkId});
If Not IsNull({FeedBOLInput.ShipWrkSeq}) Then
nvl_ship_wrk_seq := CStr({FeedBOLInput.ShipWrkSeq});
nvl_ship_wrk_id & " - " & nvl_ship_wrk_seq;