Ver Mensaje Individual
  #1  
Antiguo 20-07-2010
marareta marareta is offline
Miembro
 
Registrado: ago 2008
Posts: 33
Reputación: 0
marareta Va por buen camino
en query -- ExcecSQL y Open

Hola amigos, aca otra vez molestandolos, tengo un pequeño problemita, tengo una tabla pacientes en donde los voy agregando, y al momento de llenar los datos en mi aplicacion le doy guardar y todo perfecto, el problema viene cuando inmediatamente despues intento guardar otro paciente ya no me respeta cuando intento validar si el paciente existe. Aqui les va el codigo:

En el boton de guardar tengo otras cosas pero aqui es donde tengo el problema.
Esto esta al principio para checar si el usuario existe:
Código Delphi [-]
 
Querypac.Close;
querypac.SQL.Clear;
Querypac.Sql.Text := 'Select * From pacientes';
Querypac.Open;
if ((Querypac.FieldValues['nombre']= edit3.Text)) then //edit 3 es donde pongo el nombre del paciente
   begin
   showmessage('El usuario ya existe');
   exit;
   end
  end;
Inmediatamente despues ya que se que el usuario no existe lo ingreso a la tabla con el siguiente codigo:
Código Delphi [-]
 
QueryPac.Close;
QueryPac.SQL.Clear;
QueryPac.SQL.Add('Insert into pacientes(nombre,edad) values'
            +chr(39)+edit71.Text+chr(39)+','+chr(39)+edit72.Text+chr(39)+')');
QueryPac.ExecSQL;
showmessage('El paciente se agregó correctamente');

Hasta aquí todo bien, el problema es si intento guardar otro paciente, le pongo el mismo nombre y no me dice que está duplicado.
Antes tenia el código cuando lo voy a insertar envez de tener:
Código Delphi [-]
 
QueryPac.ExcecSQL;
//tenia
QueryPac.Open;
pero me decia "Error creating cursor handle"
y por eso se lo cambie, no se si exista una instrucción como para despues de utilizar ExcecSQL poder cancelar o algo asi porque siento que esa es la instruccion que me esta danmdo problemas.
ojalá me pudieran ayudar porque me estoy volviendo loco por no poder resolver esto, como siempre muchas gracias de antemano

Última edición por marareta fecha: 20-07-2010 a las 07:10:33.
Responder Con Cita