Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta usando ibquerry (https://www.clubdelphi.com/foros/showthread.php?t=52426)

ANALILIAHUJA 21-01-2008 03:43:36

consulta usando ibquerry
 
hola de nuevo a todos perdon si nunca le atino al foro

tengo mi base de datos la cual ya se carga ahora necesito hacerlr a esa modificaciones para ello utilizo un store procedure el cual esta listo con
update pero no se como hacer para q me localize loq quieromodificar
o sea me haga una consulta

esto es lo q yo hago

procedure tform buttonclick (sender pbjet)
begin
ibquerry.close;
ibquerry.sql.text:=
'select * from nombre dela tabla where clprov=:clprov.text';
ibquerry.open;
rsoc.text:=ibquerry.fieldvalues (razsoc).asstring;
direcc.text:=ibquerry.fieldvalues('direc).asstring;
end;
end.

pero no me funciona me marca algunos errores y no logro progresar
gracias

ana lilia ahuja:confused:

Lepe 21-01-2008 07:17:52

Un IBQuery (tal como lo usas) es para consultar datos, no puedes modificar sus campos. Te recomiendo un IBDataset, que además de seleccionar, puedes modificar / borrar / actualizar registros, etc.

También podrías usar un sql del tipo:
Código SQL [-]
update tabla set miCampo = Valor where costo > 0
en el sql.text del ibquery, después usarías ibquery1.ExecSql para ejecutar la consulta.

Saludos

ANALILIAHUJA 22-01-2008 01:17:54

hola

gracias por tu consejo pero el querry solo lo quiero para hacer la consulta para la modificacion tego un store procedure solo q no logro conseguir que me presente la informacion
y lo hago en el querry la consulta

ana lilia ahuja

Lepe 22-01-2008 13:26:54

Prueba así:

Código Delphi [-]
procedure tform buttonclick (sender pbjet)
begin
ibquerry.close;
ibquerry.sql.text:='select * from nombre dela tabla where clprov=:Elclprov';
ibquery1.ParamsByName('Elclprov').AsString := clprov.text;
ibquerry.open;
rsoc.text:=ibquerry.fieldByname('razsoc').asstring;
direcc.text:=ibquerry.fieldByName('direc').asstring;
end;
end.
"Elclprov" es lo que se llama un parámetro en sql, puede tener el nombre que quieras antecedido de los dos puntos, después asignas el valor con ParambyName.

Supongo que clprov.text hace referencia a la clave primaria de esa tabla, para que solo encuentre 1 registro, de otra forma puedes encontrar varios.

En lo sucesivo, indica los errores que te da, ya que nos orienta mejor sobre tu problema sin ambigüedades.


Saludos

ANALILIAHUJA 22-01-2008 20:04:14

siguiendo con la consulta
 
gracias funciono perfecto


ahora sigo dando molestias como veras soy bastante malita en esto de la programacion pero necesito pasar mi materia

en la misma pantalla donde realice la busqueda tengo q hacer las modificaciones tengo un store procedure q lo mando llamar

y en el boton de bbutton ahiu escribo lo siguiente


ibs3.close;
ibs3.parambyname('arazdoc').asstring:=rsoc.tex
ibs3.parambyname('adirecc').asstring:=dir.tex;

asi nombro todos los campos
try
ibs3.execproc;
dm2.ibt1.commit;
except
dm2.ibt1.rollback;
end;
showmessage ('datos modificados correctamente');
rsoc.clear;
dir.clear;
end;
end.


La franja horaria es GMT +2. Ahora son las 16:09:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi