Conectar varios DropDownListBox a BD

Bueno soy nuevo en esta pagina,pero me gustaria q me ayuden en mi trabajo de power builder,tengo un problema,cuando cargod BD en un dropdownlistbox,es decir al cargar uno si sale,pero cuando quiero cargar en mas d uno se cuelga la aplicacion,esto quiero hacer
string cat
declare tipo cursor for select distinct aut_cod from autor;
open tipo;
fetch tipo into :cat;
do while sqlca.sqlcode <> 100
ddlb_1.additem(cat)
fetch tipo into :cat;
loop
close tipo;
Me sale, pero cuando quiero hacer otro igual, para otro dropdownlisbox es decir el numero ddlb_2, se cuelga, no reconoce.

1 respuesta

Respuesta
1
Porque mejor no usas datawindow dropdrowlistbox, ahí ya no necesitaras crear ningún cursor, solo recuperaras los datos directamente de la BD.
Cualquier duda solo pregunta
Bueno, gracias, ya me salio, se debió a un error, que ya solucione, si, también ya lo hice con datawindow dropdrowlistbox, en ambos salen, pero ahora tengo un incógnita, en cuanto al código autogenerado, vi en esta página un código, y lo trate de acoplar ami sistema, pero no sale errores, no podrías ayudarme, por favor
Integer li_numero
String ls_codigo
select max(to_number(substr(codigo,2)))
into :li_numero
from cliente;
if isNull(li_numero) then
li_numero = 0
end if
li_numero ++
ls_codigo = 'cli' + String(li_numero,'0000')
Eh tratado o esta mal ese código, t agradeceré tu ayuda, ok
Si estas usando sql, entonces debes usarlo de esta manera:
Integer ll_numero
String ls_codigo
Select max(convert(int,right(codigo,4)))
into :ll_numero
from cliente;
if isnull(ll_numero) then
ll_numero = 0
end if
ll_numero++
ls_codigo = string(ll_numero,'CLI0000')
Bueno gracias de antemano por el código autogenerado, me sirvió de mucho ahora tengo una duda, estoy trabajando con un list view, le estoy agregando datos desde sle.text, entiendes, le eh creado un contador en un variable global, estoy trabajando con solo 2 columnas, para probar
int num
cont++
for num=1 to cont
lv_1.getitem(num,1,cod)
if cod=sle_3.text then
messagebox("error",cod)
return
end if
next
lv_1.additem(sle_3.text,1)
lv_1.setitem(cont,2, sle_4.text)
Todo sale ok, pero si no quiero que se repita el mismo dato, quiero escoger el primero, y luego el segundo solo me muestra la primera columna, espero puedas ayudarme, gracias
Esto es otra pregunta, debes cerrarla y abrir otro.
Por esta vez lo dejamos así:
Utiliza este código tal vez te pueda servir
String ls_dato
ls_dato = 'Sanyo'
li_index = lv_list.FindItem(0,ls_dato, TRUE,TRUE)
IF li_index = -1 THEN //No existe
lv_list.AddItem(ls_dato,1)
END IF

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas