PB学习笔记(一)

前言:我绝对很痛恨PB。1.没人带2.自己摸索3.头发掉了4.老大不停的给任务5。这语言老的不行了6,代码可读性不是一般的差 

           我绝对很喜欢PB。1.自我学习成功后那种成就感2.老大也会帮给我看看,指点下,然后给我提新要求3.群里的各位前辈的支持和帮助4.特别感谢咱群里的二愣和小雨对于我的帮助和建议莫大5.CS模 式下PB和 Java比较简直就是神器

              总结:我喜欢软件这一行,不管IDE的怎么改变,用户的需求没有变,只有有些语言更方便和更强大而已。多学一门不必精通,但至少会用。

现将部分学习经验总结出来(个人相对于擅长的是Java和Android,所以用Java做比较):

         1.数据类型:多一个变色龙类型 ANY 起特点你赋予什么类型他就是什么类型。int和integer是一个类型 他们之间存在一个数据转换的慨念,其实就把一个当函数,一个当原始类型就好了

         2.增删改查:WD的使用,函数的使用    查询:dw_1.retrieve( )

                                                                                增加:dw_1.InsertRow(0);

                                                                                删除:dw_1.DeleteRow(0);//删除当前行


                                                                                更新(保存操作):if dw_1.update()=1 then
                                                                                                                          commit using sqlca;   
                                                                                                                          messagebox("提示","数据库更新成功")
                                                                                                                      else 
                                                                                                                         //messagebox("提示","数据库更新不成功")
                                                                                                                        rollback using sqlca;
   end if

          3.dw的异常捕获:参考了一条信息  信息如下:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如:
   我在数据窗口中录入两条主键相同的记录, update()时肯定回报错,并出现一个系统
的错误提示框,我想捕获出的错, 并用自己方式来提示用户?

不知怎么办? 
------Solutions------
在dwerror事件中处理,retrun 1 
------Solutions------
在dwerror事件中处理,retrun 1
然后,取出sqlca.sqlcode的值. 
------Solutions------
在dberror事件中处理,retrun 1

------Solutions------
在数据窗的 dberror 事件中对 sqldbcode 进行判断, 下面的你选一个
2627/*sqlserver的主键冲突*/
-193/*sqlanywhere的主键冲突*/
-1605/*ACCESS_index*/
ORACLE 的忘了

最后加
return 1
屏蔽系统英文提示

------Solutions------
还有两个索引
2601/*sqlserver_index*/
-196/*sqlanywhere_index*/

------Solutions------
同意楼上各位,自己根据SQLCODE输出错误信息,最后RETURN 1就不会提示系统自带错误信息了,:) 
------Solutions------
ORACLE的错误编码

1= 主键冲突
1400 = 不能为空的列有空值

其它的可以用数据窗口中的dberror事件的中的sqldbcode变量返回值来监控一下 
------Solutions------
在 数据窗口dberror  .return 1

---------------------------------------------------------------------------------------------------------------------------------

    4.数据连接:

                     SQLCA.DBMS = "O84 Oracle8/8i (8.x.4+)"
                     SQLCA.LogPass ="test"
                     SQLCA.ServerName = "test"
                     SQLCA.LogId = "pzh"
                     SQLCA.AutoCommit = False
                     SQLCA.DBParm = ""
                     connect using sqlca;
                     if sqlca.sqlcode<>0 then
                         MessageBox("错误","数据库连接失败:~r1.请检查网线.~r2.请检查您的用户名和密码~r3.请与网络管理员联系")
                         return
                     else
                         open(w_jb)
                     end if

     5.焦点妙用:

                      getfocus()和lostfocus()。在文本中作用‘提示’ 使用户体验度提高


不想写多了 反正没人看,也没人留言,自己看懂就行,给自己当学习笔记。

原文地址:https://www.cnblogs.com/riskyer/p/3225790.html