前言:我绝对很痛恨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()。在文本中作用‘提示’ 使用户体验度提高


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