Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   comparar con el contenido de un dbedit (https://www.clubdelphi.com/foros/showthread.php?t=28312)

chipsoni 15-12-2005 17:19:23

comparar con el contenido de un dbedit
 
Necesito seleccionar 4 campos de una tabla donde la empresa (el código de la empresa es numérico) coincida con el que hay en un campo DBEdit de mi formulario, lo he hecho asi:

Select reservacredito, fecha, importe, satisfaccion
from tpedidos where empresa=StrToInt(DBEcodigo)

pero me da error de sintaxis en DBEcodigo.

Muchas gracias

ContraVeneno 15-12-2005 17:26:17

Código Delphi [-]
with TuQueryODataset do begin
 if active then close;
 SQL.Clear;
 SQL.Add('Select reservacredito, fecha, importe, satisfaccion');
 SQL.Add('From tpedidos');
 SQL.Add('where empresa='+StrToInt(DBEcodigo));
 Open;
end; //with TuDataset

aunque antes de esto creo que deberías comprobar con TryStrToInt para evitar errores de conversión....

chipsoni 15-12-2005 17:30:39

Yo es que lo estaba escribiendo en el campo sql del inspector de objetos del query y creo que se pone la consulta normal, sin necesidad de add y lo que requiere el delphi, ¿no lo puedo hacer desde ahí?.

Es que en realidad lo necesito para rellenar campos de un dbgrid.

Ivanzinho 15-12-2005 17:30:45

Cita:

Empezado por ContraVeneno
Código Delphi [-]
...
SQL.Add('where empresa='+StrToInt(DBEcodigo));
Open;
end; //with TuDataset
...

Si DBEcodigo es un string basta con que se haga
Código Delphi [-]
SQL.Add('where empresa='+DBEcodigo);
y si es un integer habrá que hacer
Código Delphi [-]
SQL.Add('where empresa='+IntToStr(DBEcodigo));

chipsoni 15-12-2005 17:33:02

No, es que empresa en la tabla pedido es un entero y en el dbedit se transforma automaticamente en texto, ¿no?

Ivanzinho 15-12-2005 17:33:35

Cita:

Empezado por chipsoni
Yo es que lo estaba escribiendo en el campo sql del inspector de objetos del query y creo que se pone la consulta normal, sin necesidad de add y lo que requiere el delphi, ¿no lo puedo hacer desde ahí?.

Es que en realidad lo necesito para rellenar campos de un dbgrid.

Desde en el campo sql no puedes meter directamente una variable, eso lo tienes que hacer desde el código, componiendo la consulta y pasandola (como string), ya que el campo sql sólo admite un string

vtdeleon 15-12-2005 17:36:31

SAludos

Dejen que delphi se encargue de esto:
Código Delphi [-]
with TuQueryODataset do begin
 if active then close;
 SQL.Clear;
 SQL.Add('Select reservacredito, fecha, importe, satisfaccion');
 SQL.Add('From tpedidos');
 SQL.Add('where empresa=:emp');
 ParamByName('emp').AsString:=DBEcodigo.Text;//O asSInteger
 Open;
end; //with TuDataset


La franja horaria es GMT +2. Ahora son las 06:58:52.

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