发布网友 发布时间:2023-05-18 03:07
共1个回答
热心网友 时间:2023-09-20 16:23
查询插入可以通过数据窗口来完成,PB数据窗口是最强大的功能,如果你使用PB,忽略了数据窗口就太不应该了。追答我举个例子,使用PB创建一个窗口,窗口上面放两个静态文本控件st_1, st_2.
然后我们从数据库的用户表tb_user查询用户编码是'001'的用户姓名和编号并显示在文本上。
你在窗口上做一个按钮,在按钮的点击事件中写
string ls_userid, ls_username //定义变量
select user_id, user_name
into :ls_userid, :ls_username
from tb_user
where user_id = '001';
//显示代码和名字
st_1.text = ls_userid
st_2.text = ls_username
同样,我们想把文本中显示的用户编号和姓名存到tb_user表中
在界面增加一个按钮保存,在保存的点击事件中写
string ls_userid, ls_username
ls_userid = st_1.text
ls_username = st_2.text
insert into tb_user(user_id, user_name) values (:ls_userid, :ls_username);
if sqlca.sqlcode = 0 then
commit;
else
rollback;
end if
这是使用纯代码实现一个简单的查询展示和保存的代码。
如果使用数据窗口,就简单了,实际上就是两个函数的功能而已。
在窗口上增加一个数据窗口控件dw_1,然后新建一个datawindow做为dw_1的dataobject.
设置好datawindow的保存属性。在窗口的open事件写dw_1.settransobject(sqlca)
然后查询可以通过一个查询按钮,里面写dw_1.retrieve()完成
而增加做一个增加按钮,dw_1.insertrow(0)
一个保存按钮if dw_1.update() > 0 then
commit;
else
rollback;
end if
完成你要的功能。