我正在运行powerbuilder 11.2并尝试调试将数据从文本文件拉入数据存储区的操作。我可以在数据存储区上设置监视并查看有关它的信息,但我想查看数据存储区的实际内容。我已经看到了一些在表格窗口中添加表达式的建议,我插入了以下命令:
[datastore].saveas("c:\test\[datastore].xls", xls!,true)
进入观察窗口,但我得到的只是一个圆圈,红色的线条穿过它。我检查了目录,没有保存。我很长时间没有完成PB开发,这是因为我以前做过PB开发而分配给我。那么,如何在调试模式下转储数据存储的内容?非常感谢任何和所有的帮助。
答案 0 :(得分:2)
是的,saveas()
提示可以快速检查数据存储区中的内容。
但您不必在监视中添加表达式(因为每次评估监视时它都可能替换数据,或者如果数据存储无效则可能会崩溃),而是在“快速监视”对话框中。
retrieve()
或importString()
之后)yourdatastore
替换表达式字段中的yourdatastore.saveas("c:\temp\somefile.xls", excel5!, true)
,然后点击“重新评估”1
。 -1
表示存在问题,例如错误的路径或已打开(锁定)的结果文件。如果未在该框中安装Office,您还可以使用text!
代替excel5!
值来查看数据。 excel5!
是一种非常古老的格式,观众广为人知,但excel8!
或xlsx!
(在PB11.5.1之后)同样可以接受。
答案 1 :(得分:1)
如果您写入文件的位置是c:\ test,则语法为“c:\ test \”
因此,观察窗口中的正确输入将是:
ids_mydata.saveas("c:\test\mydata.xls", Excel!, true)
这会将当前“ids_mydata”数据存储区中的数据保存到C驱动器上“test”文件夹中名为“mydata.xls”的Excel文件中。
答案 2 :(得分:0)
表达式中存在语法错误。保存类型Excel必须为Excel!
或XLSX!
。
保存为Excel 2007及更高版本(需要.NET 3.5或更高版本):
[datastore].saveas("c:\test[datastore].xlsx", xlsx!,true)
以Excel格式保存:
[datastore].saveas("c:\test[datastore].xls", Excel!,true)
答案 3 :(得分:0)
SaveAs不是调试器监视表达式。您必须将其添加到代码中,并在其后的行上放置一个断点。当它达到断点时,在Excel中打开文件。
答案 4 :(得分:0)
您可能会发现它很有帮助。 link说明了如何从不同的缓冲区访问数据。
在调试期间的任何时候,您都会在监视窗口中看到一个红色圆圈,您在其中评估表达式,这意味着您的应用程序已经崩溃。您必须重新启动调试器。
最好使用TRY CATCH语句(我想这不会阻止调试器崩溃)。