hur.cn - 华软网

 热门搜索

ListBox从数据库里读数据,如何做啊?

  作者:未知    来源:网络    更新时间:2018/10/11
登录名等都保存留数据库
我想在登录的时候,登录名那一栏让操作者去选,而不是输入,

这样应该怎么做啊??

就是把一个数据窗口的数据加到LISTBOX控件里,如何做啊???
------华软网友回答------
1. 直接用数据窗口
2. 逐行读取set ListBox
------华软网友回复------
1  下拉框作成DDDW形式的
2  声明游标,循环读取增加到DDLB
------华软网友回复------
DECLARE emp_curs CURSOR FOR
SELECT emp_id, emp_name FROM EMPLOYEE ;
OPEN emp_curs;
DO WHILE SQLCA.SQLCODE=0
  FETCH emp_curs INTO :ls_id,:ls_name
  ddlb_1.additem(ls_name)
LOOP
CLOSE emp_curs ;
------华软网友回复------
这类问题,照旧多看看书,书才是人类最好的朋友
------华软网友回复------
楼上和楼主的名字有意思,

直接用DDDW最快,呵呵
------华软网友回复------
倒~~

我说的是二楼
------华软网友回复------
运用动态创建的dw对象,将指定的数据源与dropdownlistbox绑定。
用法见comments
$PBExportHeader$u_dropdowndatalist.sru
$PBExportComments$DropDownDataList~r~nUsage:~r~nRetrieve(sqlca,"select name,id from users")~r~nll_id=GetData()~r~n
forward
global type u_dropdowndatalist from dropdownlistbox
end type
end forward

global type u_dropdowndatalist from dropdownlistbox
int Width=247
int Height=228
int TabOrder=10
BorderStyle BorderStyle=StyleLowered!
boolean VScrollBar=true
long TextColor=33554432
int TextSize=-12
int Weight=400
string FaceName="Arial"
FontCharSet FontCharSet=Ansi!
FontFamily FontFamily=Swiss!
FontPitch FontPitch=Variable!
end type
global u_dropdowndatalist u_dropdowndatalist

type variables
datastore ids
end variables

forward prototypes
public function any getdata ()
public function long retrieve (ref transaction ao_sqlca, string as_sqlselect)
end prototypes

public function any getdata ();any la_ret
long i
setnull(la_ret)
if this.text<>"" then
i=ids.find("#2='"+this.text+"'",1,ids.rowcount())
//ids.filter()
if i>0 then
la_ret=ids.Object.data[i, 1]
end if
end if
return la_ret

end function
public function long retrieve (ref transaction ao_sqlca, string as_sqlselect);long ll,i
string errors,ls_sql
//根据sql语句产生数据窗口
ls_sql = sqlca.SyntaxFromSQL(as_sqlselect, 'style(type=grid)',errors)
//sql语句有毛病
if len(errors) > 0 then
messagebox('毛病1', errors)
return -1
end if
//根据语法动态创建数据窗口
ids.create(ls_sql,errors)
if len(errors) > 0 then
messagebox('毛病2', errors)
return -1
end if
ll =ids.settransobject(sqlca)
//messagebox('',string(ll)+sqlca.sqlerrtext)

ll = ids.retrieve()
ll = ids.rowcount()
//messagebox('',string(ll)+sqlca.sqlerrtext+ids.getsqlselect())
//把数据插入控件
for i = 1 to ll
this.additem(string(ids.Object.Data[i,2])) 
next
//成功前往0
return ll

end function
event destructor;if isvalid(ids) then
destroy ids
end if

end event

event constructor;ids=create datastore

end event


------华软网友回复------
圆满的解决方案,楼主给分吧。嘿嘿
------华软网友回复------
网上有将表中某字段的值加入到DDLB的用户对象,去搜下      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。