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=33671)

ContraVeneno 14-07-2006 16:40:51

Código Delphi [-]
procedure TAlquiler.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then begin
 with qryCliente do begin  
  if active then Close; //Agregué aquí
  sql.Clear; // y aquí
  SQL.Add(' SELECT telefono1_cliente, nombre_cliente, apellidos_cliente FROM tbClientes ');
  SQL.Add('WHERE telefono1_cliente = '+quotedstr(MaskEdit1.Text) );
  Open;
  if not IsEmpty then begin
    DBText1.Caption:=fieldByName('nombre_cliente').AsString+' '+fieldByName('apellidos_cliente').AsString;
    Edit2.SetFocus // esto era todo lo que necesitas para cambiar a películas
  end else begin
    ShowMessage('Cliente no existe');
  end; //if cliente is not empty (aquí te sobraba un "end"
 end; //with 
end; //procedire
a ver ahora.... ;)

P.D. Extraño a delphi

enecumene 14-07-2006 16:55:01

EXCELENTE!!!! gracias ContraVeneno me salio superbo, te lo agradezco muchissimo que hayas tomado un poco de tu tiempo para ayudarme, muchas gracias.. :):) y a los demas que me han contestado no se quedan atras tampoco, muchas gracias a todos!!

ContraVeneno 14-07-2006 17:36:10

De nada ;)

Nada más como recomendación, siempre dale nombre a tus controles, tal vez solo tengas unos pocos y sabes perfectamente que edit2 se refiere a las películas. Pero llegará el día que tendrás tantos edits que no sabrás ni cuál es cuál. Ahí es cuando te daras cuenta que es mucho más fácil identificar entre Edit2 y edtPeliculas.

enecumene 14-07-2006 19:10:16

gracias ContraVeneno por tu recomendacion lo llevare a cabo.

roman 14-07-2006 19:23:00

Aquí hay algo muy raro. Me alegra que ya hayas resuelto el problema pero la verdad es que como lo tenías al principio, usando parámetros, debería funcionar. Incluso como lo tenías antes de usar QuotedStr, aunque más confuso, también debía funcionar. Yo seguiría investigando porque el uso de parámetros hace un código mucho más claro.

// Saludos

ContraVeneno 14-07-2006 19:28:39

Muy cierto, con parámetros debería funcionar mejor que con "quotedstr"

Igual y el problema desde un principio era que no limpiabas la instrucción SQL con la instrucción "SQL.Clear"

Pero en fin, ya te tocará a ti seguir investigando :D

vtdeleon 15-07-2006 01:58:06

Saludos

El Query de Ado no tiene manera de asignar el tipo de dato como AsString, AsInteger,... solo tiene value; pero para Ado, Qué tipo de dato es el que tiene Value :confused:?, a mi entender no sabe y esa misma pregunta se hace el componente, y debemos contestar asingando el tipo de dato en DataType
Código Delphi [-]
//Codigo fuenta Ado
{ TParameter }

  TDataType = TFieldType;
...
...
//Codigo DB
  TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
    ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
    ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
    ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,
    ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,
    ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);


La franja horaria es GMT +2. Ahora son las 09:15:32.

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