Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   resultado de una consulta (https://www.clubdelphi.com/foros/showthread.php?t=73020)

Yulka 25-03-2011 21:45:18

resultado de una consulta
 
Hola, tengo una duda yo tengo la siguiente consulta:
Select * from cirugia where cirugia.cirlugar = "campo"

yo necesito que la respuesta la pueda utilizar para validar
if <campo> .......
como puedo incluirla para que devuelva un boolean

Gracias.

gatosoft 25-03-2011 21:59:21

bueno amigo Yulka, tu pregunta no es muy clara, y creo que hace faltan datos para poderla responder...

Asumo que estas haciendo un programa en Delphi (lo digo porque tu pregunta esta en la sección SQL y también podrías estar preguntando sobre programacíón en SQL server u otras bases)

Asumo que debes tener un codigo como:

Código Delphi [-]
Query1.Sql.text := 'Select * from cirugia where cirugia.cirlugar = '+QuotedStr(Edit1.text);
Query1.Open;

y muy seguramente te estas preguntando como obtener un valor de la consulta que acabas de hacer.. algo como:

Código Delphi [-]
if Query1.Fieldbyname('SexoPaciente').AsString = 'M' then
begin
  //hacer algo
end;


No se si adiviné, pero para la proxima te sugiero:

1) Comentar en que herramientas trabajas (con version): SQL server 2005, Delphi 2010, etc.

2) Mostrarnos un fragmento de tu codigo para poder evaluar mejor el caso y mirar sobre lo que tu has intentado hacer en que te puedes estar equivocando...

Un saludo,

oscarac 25-03-2011 21:59:44

no entendi...
podrias poner un ejemplo por favor?

Casimiro Notevi 25-03-2011 22:01:45

Creo que nadie lo ha entendido, ¿puedes explicarlo de otra forma?, y recuerda leer la guía de estilo, has incumplido varias normas, gracias por tu colaboración.

Yulka 25-03-2011 22:23:37

perdon, estoy usando delphi 7 con interbase
mi problema es el siguiente , tengo que validar que si "elimino" una clinica esta no se encuentre ya utilizada.

en QCLin : Tibquery
Código SQL [-]
Select * from CIRUGIA where ( CIRLUGAR= :clinica)

Código Delphi [-]
procedure TfrmClinicas.cmdEliminarClick(Sender: TObject);
begin
    try  //recorro la tabla cirugia
      QClin.Open;
      QClin.Prepare;
      if QClin ..... // tengo que evaluar y me tiene que devolver True o Fasle
    if (MessageDlg('¿Desea eliminar la Clinica o Intitución?', mtWarning,[mbYes, mbNo],0) = mrYes) then
      DMABMTablas.ABMTablas.TClinicas.Delete;
    except
      on EDatabaseError do
         ShowMessage('Error en el acceso a la Base de Datos');
      on E: Exception do
         ShowMessage('Error ' + E.ClassName + ': '+ E.Message);
      end; }

Gracias, espero que se entienda mejor

Casimiro Notevi 25-03-2011 22:37:13

Por ejemplo:

Código Delphi [-]
QClin.Open;
if QClin.RecordCount>0 then
  etc...


El QClin.Prepare ahí no sirve de mucho.

Yulka 25-03-2011 22:40:00

Si tenes razon ahora que lo veo me acuerdo,son los nervios de la entrega.
muchas gracias a todos

cloayza 26-03-2011 01:45:12

Cita:

Empezado por Yulka (Mensaje 394711)
mi problema es el siguiente , tengo que validar que si "elimino" una clinica esta no se encuentre ya utilizada.

Y para eso no se debe utilizar la integridad referencial? :mad:

Creo que es un problema de diseño de la base de datos...

Para que inventar la rueda!!!

Saludos

Yulka 27-03-2011 21:56:46

Si , tenes razón Cloayza , ya tengo bien la integridad referencial solo me queda capturar el error para escribir un mensaje.
Gracias

Yulka 27-03-2011 22:15:23

Hola, este es mi procedimiento
Código Delphi [-]
procedure TfrmTAlta.cmdEliminarClick(Sender: TObject);
begin
   try
    if (MessageDlg('¿Desea eliminar el Tipo de Alta?', mtWarning,[mbYes, mbNo],0) = mrYes) then
      DMABMTablas.ABMTablas.TTalta.Delete;
   except
   on EDatabaseError do
      MessageDlg ('Error en el acceso a la Base de Datos',mtError,[mbOK],0);
   on E: Exception do
      MessageDlg('Error en ' + E.ClassName + ': '+ #10 + E.Message,mtError,[mbOK],0);
   on EAccessViolation do
      MessageDlg ('Error en el acceso a la Base de Datos2',mtError,[mbOK],0);
   end;
    
end;

pero no logro capturar el error de "Violation foreign key......." para mostrar un cartel de error
Gracias


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

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