0

这段代码有什么问题。在插入新序列号之前,我正在检查数据库中是否有可用记录。当我输入任何可用或不可用的记录时,它会引发错误消息:

“表达式无效”。(PowerBuilder Classic 12.5 和 SQL Server 2008)

If This.GetColumnName() = "serial_No" Then
 long ll_serial
    ll_serial=dw_newrecord.find(data, 1, dw_newrecord.rowcount())
    if ll_serial>0 then
    messagebox("validation error", "The record already exists")
    return 1
end if
End If
4

1 回答 1

1

data您的表达式很可能有语法错误。可能是一些格式错误的代码——比如缺少引号——或者列名不正确。

为了帮助调整过滤器或查找表达式,您可以通过行/过滤器菜单在数据窗口设计屏幕中对其进行测试。

长期编码设计的更好解决方案是将Datawindow Debug Machine(由我的同事制造)集成到您的项目中。它是原型数据窗口表达式的宝贵工具,用于查找、过滤以及在数据窗口中创建/修改动态对象。虽然与项目的数据窗口祖先正确连接,但它可以帮助过滤器并找到像这里这样的表达式错误。

编辑:正如 RealHowTo 所注意到的,该工具已更新。这是当前的最新版本(但没有更新的演示截屏视频)。

于 2012-08-25T10:44:13.770 回答