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)
-   -   Ayuda con consulta (https://www.clubdelphi.com/foros/showthread.php?t=82705)

Salnhack 04-04-2013 19:34:26

Ayuda con consulta
 
hola a todos tengo un problema con una consulta, me canso de revisarla y no he podido encontra donde radica el problema, ella se ejecuta bien pero esta condicionada y ahi es donde radica el problem,

tengo que insertar una información de un formulario, pero antes chequeo si la informacion que estoy introduciendo no está y ahi es donde radica el problema en esas condiciones les muestro el codigo

Código Delphi [-]
var servicios:string;
begin
 if suiEdit5.Text<>'' then
  begin
     With Datamodule5.ADOQuery1 do
      Begin
       Close;
       SQL.Clear;
       SQL.Add('Select tservicios from servicios where tservicios = '+ QuotedStr(suiEdit5.text));
       open;
       servicios:=FieldByName('tservicios').asString;
      end;
      if servicios=suiEdit5.Text then
       ShowMessage('Ese servicios ya EXISTE, por favor revise')
      else
       begin
        With Datamodule5.ADOQuery1 do
          Begin
           Close;
           SQL.Clear;
           Sql.Add('Insert Into servicios(tservicios)');
           SQL.Add('values ('+QuotedStr(suiEdit5.text)+')');
           ExecSQL;
          end;
        With Datamodule5.ADOQuery2 do
         Begin
          Close;
          SQL.Clear;
          Sql.Add('Select * from servicios');
          Open;
         end;
        suiEdit5.Clear;
       end;
 end
 else
  ShowMessage('Debe llenar el campo del tipo de servicios');

Espero que me ayuden

Casimiro Notevi 04-04-2013 20:14:58

Recuerda poner títulos descriptivos a tus preguntas, gracias.

ecfisa 04-04-2013 20:27:31

Hola Salnhack.

La verdad no entiendo bién el problema pero proba de este modo:
Código Delphi [-]
...
  if suiEdit5.Text<>'' then
  begin
    with DataModule5.ADOQuery1 do
    begin
      Close;
      SQL.Text := 'SELECT TSERVICIOS FROM SERVICIOS WHERE TSERVICIOS = :PSERV';
      Parameters.ParamByName('PSERV').Value := suiEdit5.Text;
      Open;
      if isEmpty then
      begin
        Close;
        SQL.Text := 'INSERT INTO SERVICIOS(TSERVICIOS) VALUES (:PSERV)';
        Parameters.ParamByName('PSERV').Value := suiEdit5.Text;
        ExecSQL;
      end
      else
       ShowMessage('Ese servicios ya EXISTE, por favor revise');
    end;
    with Datamodule5.ADOQuery2 do
    begin
      Close;
      SQL.Text := 'SELECT * FROM SERVICIOS';
      Open;
    end;
    suiEdit5.Clear;
  end
  else
    ShowMessage('Debe llenar el campo del tipo de servicios');
...

Saludos.


La franja horaria es GMT +2. Ahora son las 19:18:15.

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