在一个下拉框中输入一个表的一个属性。
例如:有一个表是系别有两个属性:系号和系名。而在添加学生时,要选择系号(用下拉框)。而系别也是随时可能增加的。所以我想在增加学生时,选系别时,点击下拉框,就能把所有系号都显示出来。
老师说用循环,PB里的循环怎么用呢?要用游标么?
请大侠帮帮忙······
------解决方案--------------------
试一下:
- C/C++ code
datastore ds_xbtmpds_xbtmp = create datastorestring error_syntaxfromSQLstring error_createstring new_syntaxstring ls_sql_sint li_i ls_sql_s = 'select xh as 系号,xm as 系名 from 表'new_syntax = sqlca.syntaxfromsql(ls_sql_s ,'style(type=grid)',error_syntaxfromsql)if len(error_syntaxfromsql) > 0 then messagebox( '服务器生成临时表错误',error_syntaxfromsql,stopsign!) returnelse ds_xbtmp.create(new_syntax,error_create) ds_xbtmp.settransobject(sqlca) ds_xbtmp.retrieve() ddlb_1.reset() for li_i = 1 to ds_xbtmp.rowcount() ddlb_1.additem(string(ds_xbtmp.object.系名[li_i])) next end if
------解决方案--------------------
1、做一个系的字典信息Dic_Dep(Dep_id,Dep_name),可以根据需要增加删除等了
2、下拉框中的操作就简单了
//读取系的字典信息,读入到下拉框中
long LlRowCount,i
String LsDep_id
dw_1.settransobject(sqlca)//系的信息
LlRowCount = dw_1.retrieve()
For i = 1 to LlRowCount
LsDep_id = dw_1.getitemstring(i,'dep_id')
ddlb_1.additem(LsDep_id)//是不是这么写忘了,看语法帮助
Next