Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Saber si un dato existe en una query (https://www.clubdelphi.com/foros/showthread.php?t=26710)

ilichhernandez 01-11-2005 00:45:13

Saber si un dato existe en una query
 
Hola, bueno les cuento.......mi problema es el siguiente, necesito saber si un dato esta o no en una query, entonces se me ocurrio un

Código SQL [-]

Select count (contador) from envases
where tipo_envase = :dbedit1.text

Pero no se como rescatar el resultado que contendra contador....
Agradeceria ayuda por favor....
Gracias
Ilich Hernandez.

roman 01-11-2005 01:07:09

Tal como planteas la consulta SQL bastaría con:

Código Delphi [-]
Query1.Fields[0].AsInteger;

// Saludos

Enan0 01-11-2005 22:10:19

Bueno tambien podrias hacerlo asi!

Código Delphi [-]
  adoquery.SQL.Add ('Select * from envases where Tipo_envase:='+edcodenvase.text);
 adoquery.execSQL
 if adoquey.ifempty then // no existe
 else ADOQuery1.RecordCount // para saber cuantos hay

vtdeleon 01-11-2005 23:57:59

Saludos

ExecSQL:confused:
Enan0, cuando una sentencia tiene Select no se debe usar ExecSQL(arrojara error), sino Open.
ExecSQL se utiliza para sentencias de movimientos (Delete,Update e Insert)

Casimiro Notevi 02-11-2005 09:05:23

Cita:

Empezado por vtdeleon
Saludos
ExecSQL:confused:
Enan0, cuando una sentencia tiene Select no se debe usar ExecSQL(arrojara error), sino Open.
ExecSQL se utiliza para sentencias de movimientos (Delete,Update e Insert)

Siendo Qqr un TpFIBQuery (de las FIBplus);
Código:

DMprincipal.Qqr.Close;
DMprincipal.Qqr.SQL.Text := 'select * from tbClientes';
DMprincipal.Qqr.ExecQuery;


Enan0 02-11-2005 11:37:27

Cita:

Empezado por vtdeleon
Saludos

ExecSQL:confused:
Enan0, cuando una sentencia tiene Select no se debe usar ExecSQL(arrojara error), sino Open.
ExecSQL se utiliza para sentencias de movimientos (Delete,Update e Insert)

SII tenes razon. calculo que me traiciono el subconciente.
pido mil disculpas

vtdeleon 02-11-2005 11:46:04

Saludos
Cita:

Empezado por Casimiro Notevi
Siendo Qqr un TpFIBQuery (de las FIBplus);
Código:

DMprincipal.Qqr.Close;
DMprincipal.Qqr.SQL.Text := 'select * from tbClientes';
DMprincipal.Qqr.ExecQuery;


No he utilizado esos componentes y gracias por el dato:)

Casimiro Notevi 02-11-2005 12:49:19

Cita:

Empezado por vtdeleon
Saludos
No he utilizado esos componentes y gracias por el dato:)

Es igual con FIBplus, FreeIB, IBX, MDO y todos los de su "familia"

roman 03-11-2005 05:49:18

Regresando a la pregunta original, no creo que hacer un select * sea lo más eficiente para saber si hay registros de un cierto tipo ya que esto puede ser costoso si hay muchos de esos registros siendo que sólo se desea saber si hay o no.

// Saludos

vtdeleon 03-11-2005 06:10:31

Saludos

Creo que lo mas eficiente sería la sentencia que tiene ilichhernandez en el primer post!!! No se me ocurre otra forma de hacer :rolleyes:


La franja horaria es GMT +2. Ahora son las 06:16:43.

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