PB详细学习笔记.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
当我们在程序中用修改数据库的时候,只要不用commit切程序在运行,我们此时是查看不到数据库中当前操作的数据的,只有commit后,或退出该程序时,才能在数据库中查看到修改后的数据。 这是因为修改数据的时候是先有一个缓冲区,此时还没有修改到实际的数据,多以此时没用commit,而用rollback的时候,对缓冲区的修改代码将不被执行;此时就是起到出错数据回滚的操作 但是,当我们修改了数据没用到commit的时候,而是直接退出程序,此时数据库缓冲区中的修改代码也会被执行,也就是说,只要不用rollback,推车程序时数据也会被更改。 所以,当我们某个地方会出错需要数据回滚时,就要在那里进行rollback操作。 在数据窗口对象里设置显示值和实际值时,要注意:当输出文档时任然使用的是实际值,显示值值是看的,没有实际意义。 在我们第一次装PDM时,装数据库的时候数据库是没有程序的内部用户的,所以一般是建一个空数据库,然后进行初始化,这样数据库就有了2个用户了,然后再将有数据的数据库还原上去,但此时该数据库也是没有用户的,就要给它授权,即映射,此时执行Grant的代码就是映射授权。 所以,当没有系统用户时,执行Grant是没有用的。 我们在pb中,事件是可以继承的,方法是不能继承的: 如果子对象中的该方法写了新代码,则调用时是执行新写的代码,如果子对象该方法中什么也没写,则会调用父对象的该方法 所以,可见继承是可以先执行父的再执行子的,方法是不行的 这个就叫做多态 1.因为标题名字是字段名字加_t,所以,在自定义字段时,设置字段名时不要有“_”. 一定要注意补丁包升级和数据库升级,补丁包升级是将我们的程序进行升级,而数据库升级是对数据库进行修改操作的升级。 二者不是一回事,都要进行操作。 我们要区分数据库版本和程序版本,两者要对应才能正常运行。 我们调试时用的动态库为PB 文件夹下的动态库,程序运行时用的是Bin目录下的动态库,程序安装时用的也是Bin目录下的动态库,所以要清楚不同环境下的运行要求。 修改数据窗口对象的查询语句时,先剪切再添加,这样更能反映到当前PB中来。 在我们触发事件打开窗口的时候,一定要注意打开窗口和当前窗口的关系,如果他们是继承关系,则会报错的~! 在写SQL语句时注意where 1=1 的用法,我们开始就把这个写在一个变量中,当要增加条件时就直接加在后面。从而不用担心where出现的位置问题。 在PB写代码时,不同的目标可以引用对方的库,所以我们编译时,先编译功能小的库,再编译功能齐全的库。 为什么呢? 比如:我们目标1调用目标2的库1,在库1中调用了许多目标1中的其他库的对象,在编译时就会将这些联系都写在库1.pbd文件中,当编译目标2时也会重新生成库1.pbd,由于在目标2中没有库1中调用其他库的对象,因为目标2只是用到了库1中很小的一部分对象,这时编译并不会报错,所以重新生成的.pbd文件是不全的(一般发生在多个程序集成在一起的情况)。所以,我们只能先编译功能小的目标,再编译功能大的目标。防止相同库先后编译发生覆盖的错误。 记住,在分析代码的时候,要分功能模块来看,不要整体的来分析,那样会很复杂而且不容易想清楚,很容易乱。 分析每一小块的代码,知道他的作用和关联;最后将每个块联系起来串一边,就能晓得当前脚本的功能了。 有时候不一定要分析某个函数它内部是怎么操作的,只需要晓得它的返回结果,这样的函数就不用费劲的去分析代码了。 在我们的程序中是有版本的,当定义好了程序中的版本后,就要进行数据库升级,这个升级就会将版本信息存放到数据库中,只有程序的版本和数据库的版本一致时,才可以登录系统。 PB写的代码调试是要依赖与环境的,所以,当调试出问题时,就要把一些支持调试的.DLL文件拷贝到PB的安装目录下面去。 注意考入的.dll文件要和当前版本的程序相匹配,因为不同版本的程序里的.DLL文件是不一样的。 要注意区分程序运行的代码和程序安装的代码,两者是有区别的。 我们要注意本地数据源的连接,不是创建了数据源就可以能连的上去,同时也要为数据源指定数据库文件。否则找不到数据。 我们在使用对象的各种类型变量时,一定要注意值的滞留问题,如有这种情况,则要在开头或结尾将其进行清空。 Eg:当有一个数组il_partid[] 时,开始我们循环找到了2个值,放在il_partid[1], il_partid[2]里面,完成了满足条件的查询。 但是当我们下一次检索时,只找到一个满足条件的值,放在了il_partid[1]里,此时我们查询时,则会出错,出现2个满足条件的值,因为我们值改变了il_partid[1],但是il_partid[2]上次查询结果的值仍然保留在,故会出错。 所以,我们在每次执行代码前就要清空:il_par

文档评论(0)

123****6651 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档