今天我们认识一个新朋友:powerbuilder,首相我们通过网络上的解释先解开第一层面纱:
PowerBuilder美国Sybase公司研制的一种新型、快速开发工具,是客户机/服务器结构下,基于Windows3.x、Windows95和WindowsNT的一个集成化开发工具。它包含一个直观的图形界面和可扩展的面向对象的编程语言PowerScript,提供与当前流行的大型数据库的接口,并通过ODBC与单机数据库相连。
优点:
1,小型开发效率高
2,简单,封装较好
3,提供b/s开发
缺点:
1,执行效率低
2,b/s开发效果非常不理想
3,PB与其他技术的集成不好
无论如何他是我们自考中要学习的一门技术,经过2-3天的研究,今天将增删改查的几个例子展现给大家:
第一步:建立数据库
第二步:建立ODBC数据源
第三步:连接PB
第四步:编写代码
详细描述:
这里不再赘述,按照传统的方法,建立一个sql数据库。
建立一个公共的ODBC数据源传统方法不再展示,在pb中的方法是:
进入我们熟悉的设置界面
在PB中建立新的数据连接:
以用户管理为例
(1)代码:
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit=False
SQLCA.DBParm="Connectstring='DSN=mysqlxvshu;uid=sa;pwd=123456'"
CONNECT USING SQLCA;
open(w_login)
(1)界面:
(2)代码:
//通过用户名查看是否已经有此用户
string strPwd
string strRole
string strrolename
strrolename="管理员"
if trim(ddlb_role.text)=strrolename then
strRole="1"
else
strRole="2"
end if
SELECT pwd
INTO :strPwd
from "T_User"
where "T_User"."UserName"=:sle_username.text;
//SQLCode=100证明没有找到记录,此用户合法
if SQLCA.SQLCode=100 then
INSERT INTO T_User(UserName,pwd,role)
values (:sle_username.text,:sle_password.text,:strRole);
messagebox("提示","添加成功")
else
//提示用户重名
messagebox("提示","此用户名已经存在,请您输入其他的用户名")
sle_username.text=""
sle_username.SetFocus()
end if
(1)界面:
(2)代码:
界面开始初始化数据显示:
dw_user.SetTransObject(SQLCA)
dw_user.Retrieve()
st_time.text="当前日期:"+string(today(),"yyyy-mm-dd")
查询按钮:
if trim(sle_username.text)="" then
messagebox("提示","用户名不能为空")
else
dw_user.setfilter("Username like '%"+sle_username.text+"%'")
dw_user.filter()
dw_user.SetFocus()
end if
(1)界面:
(2)代码:
确认按钮:
if trim(sle_new.text)="" then
messagebox("提示","新密码不能为空,请您重新输入")
sle_new.setfocus()
else
update T_User
set pwd=:sle_new.text
where UserName=:PUBstrusername ;
messagebox("提示","修改成功")
end if
(1)界面:
(2)代码:
删除按钮:
//存储用户角色
string strRole
//判断输入的用户名是否为空
if trim(sle_putname.text)="" then
messagebox("提示","用户名不能为空")
else
//通过用户名找到权限
SELECT role
INTO :strRole
from "T_User"
where "T_User"."UserName"=:sle_putname.text;
//判断用户是否存在
if SQLCA.SQLCode=100 then
messagebox("提示信息","您输入的用户不存在!")
else
delete
from T_User
where "UserName"=:sle_putname.text;
messagebox("提示","删除成功")
//判断用户结束标志
end if
//是否为空结束标志
end if
在没有实践之前,觉得这是个新东西,挺难的,但是当事情逼到自己头上,硬着头皮跟着教科书的目录,发现90%都是相似的,都是自己以前学过的东西,唯一有点不同的就是语法结构,和事件表示!
“不怕不知道,就怕不知道”
我们被知道和不知道折腾的很久了,但是有个问题是他们的前提,就是客服“怕”的心理,相信我们自己的能力,学到了这个年纪,我们应该知道,基础的学习我们掌握了,那么其他上层学习只是换了个表皮而已,俗话说的换汤不换药!
相信自己,自己就能超越自己,这就是我们这个时代的奇迹!信息时代的奇迹!