Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Query insertar dato en un Edit (https://www.clubdelphi.com/foros/showthread.php?t=81046)

Basi 04-10-2012 23:11:57

Query insertar dato en un Edit
 
hola a todos como ya sdaben soy nuevo en delhpi y bueno me la paso o tratando de apreder cada dia un poco mas y bueno la duda que tengo que eh buscado y no eh podido hacer es como insertar datos en los edit mediante el query.. ya teniendo una base de datos... bueno si me pudieran ayudar.. o darme algun lugar donde pueda guiarme se le agradeceria saludos..

ecfisa 04-10-2012 23:40:31

Hola Basi.

Te pongo un ejemplo simple:
Código Delphi [-]
procedure TForm1.tuQueryAfterScroll(DataSet: TDataSet);
begin
  with DataSet do
  begin
    Edit1.Text := FieldByName('CAMPO_1').AsString;
    Edit2.Text := FieldByName('CAMPO_2').AsString;
    Edit3.Text := IntToStr(FieldByName('CAMPO_3').AsInteger);
    ...
  end;
end;
En este caso se aprovecha el evento AfterScroll del query para ir mostrando los campos en los Edits a medida que se va cambiando de registro activo.

Saludos.

Basi 04-10-2012 23:49:14

Dejame probarlo y adadtar la idea a lo que ya estaba practicando..

antes estaba haciendo estos ejemplos para sigientes y atras.

Código Delphi [-]
 
procedure TForm1.SiguienteButtonClick(Sender: TObject);
begin
  PersonasQuery.Open;
  PersonasQuery.Next;
  LasNameEdit.Text:=(PersonasQueryLasName.value);
  CiudadEdit.Text:=(PersonasQueryCiudad.value);
end;
procedure TForm1.AtrasButtonClick(Sender: TObject);
begin
  PersonasQuery.Open;
  PersonasQuery.prior;
  LasNameEdit.Text:=(PersonasQueryLasName.value);
  CiudadEdit.Text:=(PersonasQueryCiudad.Value);
end;

y bueno para registrar un nuevo registro agrege un nuevo query que lo llame asi RegistrarQuery y en su propidad SQL coloque esto

Código SQL [-]
 
insert into personas values ();

y bueno no se si me captan la idea creo que mi problema sera en el sql..
buenos gracias por reponder efisa saludos

ecfisa 05-10-2012 00:30:57

Cita:

Empezado por Basi (Mensaje 446395)
creo que mi problema sera en el sql..

Hola.

La cadena SQL (cambiando los nombres de campo por los correspondientes) como ejemplo sería:
Código SQL [-]
  with tuQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('INSERT INTO PERSONAS (CAMPO_1, CAMPO_2, ..., CAMPO_N)');
    SQL.Add('VALUES (:CAMPO_1, :CAMPO_2, ..., :CAMPO_N )');
    ParamByName('CAMPO_1').AsString := Edit1.Text;
    ParamByName('CAMPO_2').AsInteger:= StrToInt(Edit2.Text);
    ...
    ParamByname('CAMPO_N').AsString := EditN.Text;
    ExecSQL;  // No uses Open o Active en este caso
  end;
Aunque yo acostumbro utilizar el mismo nombre del campo para los nombres de los parámetros, pueden ser los que gustes siempre que se precedan por dos puntos ':' en la cadena SQL.

Saludos :)

cancun 05-10-2012 00:46:23

Hola


Por que usas Edits para mostrar la información? si puedes usar DBEdits o DBTexts y te ahorras bastante código o tal vez te sirva un DBGrid, los haz probado?


Saludos


La franja horaria es GMT +2. Ahora son las 04:24:22.

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