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)
-   -   Reemplazo del locate en SQL Server (https://www.clubdelphi.com/foros/showthread.php?t=48409)

BlueSteel 24-09-2007 18:57:57

Reemplazo del locate en SQL Server
 
Hola..

no sabia que titulo poner.. espero que sea el adecuado...

bueno, les cuento.. tube un problemilla con un sistema que habia realizado hace un par de años donde utilizaba tablas planas...

mi consulta en que cuando ingresaba un dato utilizaba este codigo para verificar si estaba o no

Código Delphi [-]
If Locate('Clave',cClave,[]) Then
   ShowMessage('Ingreso ya se realizó')
Else
   ShowMessage('Puede Ingresar');

bueno y quisiera saber si existe una forma de preguntar que sea como la anterior.. actualmente estoy utilizando esta

Código Delphi [-]
AQ_Edit.Close;
AQ_Edit.SQL.Clear;
AQ_Edit.SQL.Add('Select * From Personal');
AQ_Edit.SQL.Add('Where Per_Nro =:Var1');
AQ_Edit.Parameters[0].Value := vNro.Text;
AQ_Edit.Open;

If AQ_Edit.Eof Then
    ShowMessage('Ingreso ya se realizó')
 Else
    ShowMessage('Puede Ingresar');

bueno.. espero me puedan ayudar.. ahh.. estoy con Delphi 7 - SQL Server 2000 y utilizo ADO:D

poliburro 24-09-2007 19:29:49

Es correcta la manera en que lo haces, aunque si estás usando Sql server no te vendría mal aprovechar el uso de Stored procedures.


tu misma consulta

Código Delphi [-]
 
With AQ_Edit Do
  Begin
    Close;
    SQL.Text := 'Select Count(*) From Personal Where Per_Nro =:Var1';
    Parameters[0].Value := vNro.Text;
    Open;
    If fields[0].AsInteger > 0 Then
      ShowMessage('Ingreso ya se realizó')
    Else
      ShowMessage('Puede Ingresar');
  End

luisgutierrezb 24-09-2007 19:30:47

Solo modificaria tu condicion:

If Not AQ_Edit.isEmpty Then

y listo, lo demas se queda igual

sinalocarlos 24-09-2007 20:48:55

solo como comentario:

el "If Not AQ_Edit.isEmpty" cuando usas count siempre te regresa FALSE

ContraVeneno 24-09-2007 23:22:08

porque cuando usas count, siempre te regresa un resultado.. mínimo cero, pero siempre te regresa algo y por eso "isEmpty" siempre es falso...


La franja horaria es GMT +2. Ahora son las 06:48:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi