PowerBuilder查找函数抛出错误“表达式无效”

时间:2012-08-25 07:20:42

标签: sql-server-2008 find powerbuilder

此代码有什么问题。我在插入新序列号之前检查数据库中是否有可用记录。当我输入任何记录是否可用时,它会抛出一条错误消息:

  

“表达式无效”。 (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

1 个答案:

答案 0 :(得分:1)

您的data表达式可能存在语法错误。它可能是一些错误的代码 - 如缺失的引号 - 或者列名称不正确。

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

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

编辑:正如RealHowTo注意到的那样,该工具已经更新。这是current latest version(但是没有更新的演示截屏视频)。