二、下面以一具体示例详细讲解游标的使用技术
示例环境为:欲将工程表Project中的工程名称name字段与列表控件相捆绑,以实现相关数据的动态刷新。
1. 创建一名为project的数据表: CREATE TABLE project ( id numeric(5),
name varchar(50)) ; 其中id为项目编号、name为项目名称。
2. 新建一窗口 w_project,在窗口画板工作区增加一名为ddlb_name的下拉式列表框(DropDownListBox)
3.在w_project的open事件中编写如下代码:
int li_id
string ls_name
//游标声明
declare lcur_name cursor for
SELECT name
FROM project;
//游标打开
open lcur_name;
if sqlca.sqlcode $#@60; 0 then
MessageBox ("DataBase Error!",
sqlca.sqlerrtext, exclamation!)
return
end if
ddlb_name.SetRedraw(false)
do while sqlca.sqlcode = 0
//提取
fetch lcur_name into :ls_name;
if sqlca.sqlcode = 0 then
//将提取的结果,逐行添加到下拉式列表框
ddlb_name.AddItem (ls_name)
elseif sqlca.sqlcode $#@60; 0 then
MessageBox ("DataBase Error", sqlca.sqlerrtext, exclamation!)
return
else
exit
end if
loop
ddlb_id.SetRedraw(true)
//关闭游标
CLOSE lcur_name;
//释放游标
DEALLOCATE CURSOR lcur_name;