Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2006
juangabriel1786 juangabriel1786 is offline
Miembro
 
Registrado: ene 2006
Posts: 38
Poder: 0
juangabriel1786 Va por buen camino
Red face problemas con el query

Hola mi Nombre es juan gabriel, trato de hacer una consulta con el Query y me funciona, pero ok me trae los datos al DBgrid, pero lo que realmente necesito es saber si el query encontro lo que busca,, para asi poder tomar deciciones aqui esta el codigo que uso.

ejemplo: Se le pasa un valor, lo encontro ok, decirle al usuario, olle ese codigo ya existe no puede introducirlo de nuevo.
Y si no fue encontrado,guardar los datos.

Query1.open;
Query1.close;
Query1.ParamByName('buscar').AsInteger:=Strtoint(Edit1.Text);
Query1.open;
Responder Con Cita
  #2  
Antiguo 25-07-2006
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola juangabriel1786, hay varias maneras de hacerlo una de ellas es como propones, llegado ese punto puedes preguntar si devolvio algún valor a sea si el query no está vacío, esto sería:
Código Delphi [-]
Query1.open;
Query1.close;
Query1.ParamByName('buscar').AsInteger:=Strtoint(Edit1.Text);
Query1.open;
if not query1.IsEmpty then ShowMessage('El código ya existe');
Saludos
Responder Con Cita
  #3  
Antiguo 25-07-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
O simplemente puedes poner una llave primaria única en tu base de datos y listo.

Cada vez que alguien quiera agregar un dato que ya existe, te enviará una excepción de violación de llave primaria. (Key Violation)
__________________

Responder Con Cita
  #4  
Antiguo 25-07-2006
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Hola JuanGa

Mira :
hay muchas maneras de Saber si el query nos retorno un valor, o encontro alguna coincidencia con la consulta, que nos le hemos indicado...

para seto debes realizar lo sgte :


Query.Sql.Clear;
Query.Sql.Text:='Select * From Tabla';
Query.Open;

ese codigo nos permite..realizar la consulta verdad.....

ahora para saber si se encontraon coincidencias podrias preguntar
de la sgte manera :

1) IF NOT Query.IsNull THEN

2) IF Query.RecordCount > 0 THEN

3) IF NOT Query.EOF THEN

Bueno amigaso, espero que te sirva..mucha suerte.
Responder Con Cita
  #5  
Antiguo 26-07-2006
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Solo para aclarar un poco. Si utilizas llaves primarias en tu base de datos, no tendrás que buscar los datos, luego compararlos con los que quieres grabar, para luego tomar la decisión de si los grabas o no los grabas.

Utilizando llaves, solo tienes que hacer el intento de grabar y listo.

Código:
try Grabar
except on Key violation "Ya existe"

y sin llaves:
Código:
Buscar
Comparar
SI ya existe TONS
 "Ya existe"
SI NO
 Grabar
__________________


Última edición por ContraVeneno fecha: 26-07-2006 a las 00:36:11.
Responder Con Cita
  #6  
Antiguo 26-07-2006
Ruben_Cu Ruben_Cu is offline
No confirmado
 
Registrado: oct 2003
Ubicación: Mariel, Cuba
Posts: 271
Poder: 0
Ruben_Cu Va por buen camino
Hola a todos, parece que ya estoy cansado.
Cita:
Empezado por BuenaOnda
1) IF NOT Query.IsNull THEN
La propiedad IsNull se aplica a los TField pero no conozco que sea aplicable al TQuery. ¿Es así o estoy en un error?

Tambien puedes verificar el resultado de la busqueda con:
Código Delphi [-]
IF Query1.EOF and Query1.Bof Then ShowMessage('No hay registros');
O usando la función Locate.
Saludos

Última edición por Ruben_Cu fecha: 26-07-2006 a las 00:52:29.
Responder Con Cita
  #7  
Antiguo 26-07-2006
juangabriel1786 juangabriel1786 is offline
Miembro
 
Registrado: ene 2006
Posts: 38
Poder: 0
juangabriel1786 Va por buen camino
Smile Muchas Gracia por sus ayuda.

Muchas Gracia por sus ayuda Realmente se lo agradesco, ahora puedo crear mi proyecto.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problemas con Query caifan_0883 SQL 2 11-01-2006 07:07:36
problemas al dar de alta en un query ElDioni Varios 2 12-07-2005 16:37:01
problemas con el QUERY y el DBImage thecarlos Conexión con bases de datos 2 16-07-2004 17:09:53
Problemas con la query merlin SQL 7 30-01-2004 10:47:19
Problemas con Query vichovi Conexión con bases de datos 12 23-10-2003 21:30:34


La franja horaria es GMT +2. Ahora son las 17:46:00.


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
Copyright 1996-2007 Club Delphi