PowerBuilder 数据窗口实例一(用户注册)

来源:互联网 发布:七彩网络查询成绩 编辑:程序博客网 时间:2024/05/02 16:58

1. 首先,我们在mysql里创建一个user表

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

 

2. 然后,建立一个freefrom风格的数据窗口,通过quickselect选择数据列,并保存为d_user

 

(1)数据窗口设计好了,要注意把rows下面的updateproperties 属性设置如下

(2)然后点击工具条上的Table Order按钮,改变相关列的Table Order,使其不为0就可以了。

4. 创建一个窗口w_user,设计如下:

 

5. 在应用程序的open()事件里添加如下代码:

// Profile testuser
SQLCA.DBMS = "JDBC"
SQLCA.LogPass = "root"
SQLCA.LogId = "root"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Driver='org.gjt.mm.mysql.Driver',URL='jdbc:mysql://localhost:3306/testuser'"


//判断数据库是否连接成功
connect using sqlca;
if sqlca.sqlcode<>0 then
 messagebox("错误","连接数据库错误,原因:"+sqlca.sqlerrtext)
 return
end if

open(w_user)

 

6.窗口的open()事件里添加如下代码

//数据窗口获取数据,并获得焦点
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_1.setfocus()

//向数据记录后插入一行,并将光标滚动到该行
dw_1.scrolltorow(dw_1.insertrow(0))

 

7. 在保存的clicked()事件里添加如下代码

if update(dw_1, true, false) =1 then
 dw_1.resetupdate()
 commit;
else
 rollback;
 messagebox("警告","数据保存失败!")
end if

 

8. 在退出的clicked()事件里添加如下代码

close(w_user)

 

9. 测试:

(1) 运行程序,输入要保存的用户名和密码,点击保存

 

(2)可以看到, 数据库已经添加了一条记录