有没有办法在 genexus 中查看 New/EndNew 中的错误消息?
There's a way to see error messages in New/EndNew in genexus?
我正在尝试在 table 中插入新记录,但出了点问题,记录未插入 table。
我实际上是在使用 new/endnew
来设置我的对象的属性。
我知道如果我使用业务组件,我可以使用 .GetMessages()
获取错误消息,但是我如何使用 new/endnew
获取错误消息?有办法得到这个吗?
首先请注意,使用业务组件执行这些任务会强制执行其中定义的业务规则,检查外键并更新相关的冗余公式,而使用 new
/endnew
类似于原始数据库插入。
您可以使用 error_handler
command/rule 捕获数据库错误(并对其采取行动)
下面是一个使用 error_handler
命令的例子:
Error_handler('OnDBError')
// the code that generates a violation
Sub 'OnDBError'
msg(format(!'DBError: Code:%1 - %2', &gxDBErr, &gxDBTxt), status)
msg(format(!'Op: %1 - Table: %2', &gxOper, &gxErrTbl), status)
&gxErrOpt = 3
EndSub
- &gxDBErr 是数字 (5)
- &gxDBTxt 是字符 (255)
- &gxOper 是
字符(30)
- &gxErrTbl 是字符 (255)
- &gxErrOpt 是数字 (1)
如果您想创建一个日志文件,您可以激活 GeneXus 的日志记录功能(请参阅您选择的生成器的属性选项卡中的 Logging
部分)
您要保存的记录是来自默认数据存储 table 还是数据视图的 table?
可能数据视图定义不当。
其他要尝试的事情:
验证主键是否定义正确(数据消息到
得救)
使用"when duplicate"显示消息,以防记录
存在该密钥。
我正在尝试在 table 中插入新记录,但出了点问题,记录未插入 table。
我实际上是在使用 new/endnew
来设置我的对象的属性。
我知道如果我使用业务组件,我可以使用 .GetMessages()
获取错误消息,但是我如何使用 new/endnew
获取错误消息?有办法得到这个吗?
首先请注意,使用业务组件执行这些任务会强制执行其中定义的业务规则,检查外键并更新相关的冗余公式,而使用 new
/endnew
类似于原始数据库插入。
您可以使用 error_handler
command/rule 捕获数据库错误(并对其采取行动)
下面是一个使用 error_handler
命令的例子:
Error_handler('OnDBError')
// the code that generates a violation
Sub 'OnDBError'
msg(format(!'DBError: Code:%1 - %2', &gxDBErr, &gxDBTxt), status)
msg(format(!'Op: %1 - Table: %2', &gxOper, &gxErrTbl), status)
&gxErrOpt = 3
EndSub
- &gxDBErr 是数字 (5)
- &gxDBTxt 是字符 (255)
- &gxOper 是 字符(30)
- &gxErrTbl 是字符 (255)
- &gxErrOpt 是数字 (1)
如果您想创建一个日志文件,您可以激活 GeneXus 的日志记录功能(请参阅您选择的生成器的属性选项卡中的 Logging
部分)
您要保存的记录是来自默认数据存储 table 还是数据视图的 table?
可能数据视图定义不当。
其他要尝试的事情:
验证主键是否定义正确(数据消息到 得救)
使用"when duplicate"显示消息,以防记录 存在该密钥。