Hola que tal, foro de clubdelphi, queria pedirle ayuda:
- Uso delphi xe2
- Mysql
- Dbexpress
- Uso un modulo de datos( querys, dataset), y utilizo por el lado del formulario (providers, clientdataset, datasource.)
estoy usando el componente SQLstoredproc y nose como hacerlo funcionar, coloco la conexión, y en Storedprocname=validar (así se llama el procedimiento )
les coloco el procedimiento. que es como validar un usuario si existe y me devuelve un valor 0 o 1 en caso de que exista, para poder entrar al sistema.
Código SQL
[-]
CREATE PROCEDURE `bd_ventas`.`validar` (in user varchar(10),
in clave varchar(6),
out res int)
BEGIN
DECLARE resultado int;
select @res
from usuarios
where nom_user=user and key_user=clave;
if resultado is null then
set res=1;
else
set res=0;
end if;
END
la cosa es que cuando hago todo, se activan los parametros y lo que ago es del lado del formulario en clientdataset (creo los parametros) y
utilizo este codigo:
Código Delphi
[-]
procedure Tfrm_validar.btn_validarClick(Sender: TObject);
var res:integer;
begin
if (edt_nombre.Text<>'') AND (edt_clave.Text<>'') then
begin
with cli_validar do
begin
Close;
Params.ParamByName('user').Value:=edt_nombre.Text;
Params.ParamByName('clave').Value:=edt_clave.Text;
Open;
res:=Params.ParamByName('res').Value; (esto nose si esta bien escrito, quiero capturar el resultado del procedimiento. para evaluar si es 0 o 1)
end;
end;
end;
end.
los errores que me tira son: invalid parameter, y otro return mause algo asi.
eh, buscado y leido un monton pero no encuentro la solucion. lo pongo aca porque es delphi.
Desde ya muchas gracias.