Ddlb con base de datos y procedimiento almacenado

Esta pregunta puede ser muy repetida, pero e estado buscando y no he podido solucionar mi problema...
Mi problema es que necesito enviar datos de una tabla a un ddlb pero no puedo, intente creado un procedimiento de almacenado para sacar solo el nombre, apellido paterno y apellido materno de la tabla
CREATE PROCEDURE [dbo].[pr_usuario]
AS
Begin
select nombre,apaterno,amaterno from usuario
END
Lo ejecuto del mismo sql server 2008 y ningún problema
Y este es el código a ejecutar en el powerbuilder
string v_nom,v_pat,v_mat,nomcom
declare pb_usuario procedure for pr_usuario
execute pb_usuario;
fetch pb_usuario into :v_nom, :v_pat, :v_mat;
DO WHILE sqlca.sqlcode = 0
nomcom=v_nom +" "+ v_pat+" "+v_mat
ddlb_usuario.additem( string(nomcom))
fetch pb_usuario into :v_nom, :v_pat, :v_mat;
LOOP
close pb_usuario;
Ojala me pudieran ayudar...
Respuesta
1
Para poder llenar un ddlb con los campos de una tabla te recomiendo utilizar un cursor
En donde se almacenaran todos los datos del campo de dicha tabla y luego con un bucle para ir llenando todos los items de del control ddlb espero te sirva por ejemplo quedaría si
Esto lo pones en el open de la ventana...
declare c-ap cursor for select apellidosnom from usuarios order by apellidosnom;
open c-ap;
fetch c-ap into:vap;
do until sqlca.sqlcode=100
ddlb_1.additem(vap)
fetch c-ap into :vap;
loop
close c-ap;
ddlb_1.setfocus()
Si necesitas unir más campos dentó del mismo control solo modifícalo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas