我是powerbuilder的新手,并且在使用datawindows时遇到了很多麻烦。我无法绕过它的插入机制。有人可以向我解释,或者至少让我指出正确的方向(文章,提示等)吗?powerbuilder的datawindow如何执行插入命令
回答
DataWindow生成的SQL由更新属性(菜单项Rows/Update Properties ...)控制。从那里,您可以选择一个表并设置它将用于生成SQL的属性。 Where子句...确定哪些列及其原始值在WHERE子句中用于UPDATE和DELETE。仅当您更改(或允许用户更改)您定义为关键字的列时,重要修改才会发挥作用。可更新列是可以生成SQL的列表(这不会影响UI允许的方式)。键列可以是是主键(如果DBMS支持从数据库查询该键的话,可以使用主键按钮自动填充),但不一定是。 (有相当独特的情况下,你可能想要做一些不同的事情。)如果你有一个标识列作为你的密钥,你可以识别你的DataWindow,它将在INSERT后检索生成的值。
之后,使用InsertRow(),DeleteRow(),SetItem()填充数据窗口中的数据,当然还要让UI上的用户更改数据和状态标志,以确定生成的SQL当Update()被调用时。
所有这些都可以在运行时使用Modify()函数进行更改,因此您可以使用一个DataWindow更新多个表。这是在PowerBuilder Foundation Class的多表更新服务中实现的,因此如果您想在运行时更改这些值,那就是一些很好的示例代码。
祝你好运,
特里。
假设我有一个名为'test'的表,它有三列,名为'test_id','test_name','test_address'。我在'test_id'上使用检索参数来从表中获取数据来过滤数据,而我只显示后面的两列。现在,当我使用数据窗口插入新行时,它说我违反了数据库上的'非空'约束,它无法找到'test_id'的值。我怎么解决这个问题? – 2010-06-15 04:57:00
取决于。如果test_id是标识/自动增量列,则只需在“更新属性”中声明即可。如果这是您自己填充的值,则必须以编程方式在列“test_id”的新行上执行SetItem()。生成值的规则可能决定您是否可以同时将该值设置为InsertRow()或UpdateStart事件。如果要使用ModifiedCount()来确定是否需要保存,则可能需要延迟SetItem(),直到该函数调用完成。 (对于奖励标志,修改()DW列的初始属性... no spc2xpln。) – Terry 2010-06-15 14:38:29
@Archangel将行插入到数据窗口中时,即使为该对象指定了一个值作为检索参数,仍然需要提供test_id字段。在完成插入操作后,请确保对所有不允许空值的值执行setitem。
- 1. 如何使用powerbuilder 12.5动态插入数据datawindow
- 2. PowerBuilder,DataWindow条件格式化
- 3. 当需要更新时使用插入PowerBuilder DataWindow
- 4. Powerbuilder 12.5 - 运行Windows命令
- 5. powerbuilder中的datawindow中的列表
- 6. 标题组上的复选框Datawindow Powerbuilder
- 7. 如何直接从命令行执行maven插件执行?
- 8. 我如何执行命令谁输入
- 9. PHP如何执行命令
- 10. Powerbuilder 11.5在Win7中运行命令64bit
- 11. Eclipse插件 - 如何从eclipse插件执行UNIX命令?
- 12. 使用ProcessBuilder执行需要命令行输入的命令
- 13. 如何获取在命令行执行的命令?
- 14. 是否可以从CentOS命令行执行数据库插入?
- 15. 如何从命令行执行Metrics2插件?
- 16. 执行命令
- 17. 执行命令
- 18. 执行命令
- 19. 插入的命令链执行顺序不正确
- 20. if/else语句在执行select命令后插入命令参数c#?
- 21. 如何在iPhone中执行命令行?
- 22. 如何为Unix命令行执行“ - ”* 60
- 23. 如何在gdb断点的命令中执行和执行更多命令
- 24. 如何执行的命令的命令使用C#
- 25. 如何从命令行在iTerm窗口中执行命令?
- 26. 如何从C++程序执行命令行命令
- 27. 如何在执行命令之前回显命令行?
- 28. 从NSIS执行命令行命令
- 29. 从Perl执行命令行命令?
- 30. 从命令行执行Django Shell命令
四个小时和一个投诉?不耐心太多!在北美刚刚清晨。哪个插入机制?数据窗口?树视图?嵌入式SQL? ...你看过Sybase技术文档或PowerBuilder开发人员日记吗? – Terry 2010-06-14 12:37:08
另一个令人满意的PB开发人员:) ...值得一提的是,PB IDE往往不稳定,但随着时间的推移,您将学习如何避免它发生崩溃等。另外,DataWindow是PB的核心所以这是迄今为止掌握的最重要的概念。我还建议您仔细阅读捆绑的API文档,并花费大量时间学习使用PB调试器。最终你甚至可能会喜欢PB。 – 2010-06-14 20:47:18