Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   se puede modificar una fila en paradox? (https://www.clubdelphi.com/foros/showthread.php?t=67085)

SEKTOR 27-03-2010 15:32:16

se puede modificar una fila en paradox?
 
se puede modificar un fila en paradox?

tengo una aplicacion con un dbgrid, ttable, datasource.

y con este code , puedo meterle filas nuevas, mas no modificar las ya hechas.

me explico, tengo una columna llamada "Nombre" y en la fila 0 el nombre "pedro", lo que yo quiero es modificar la fila 0.

por ejemplo modificar pedro a pablo.

este code inserta filas nuevas, existira alguna funcion/sentencia para modificar filas ya existentes?
Código:

procedure TForm21.Button1Click(Sender: TObject);
begin
Form20.Table1.Insert;
Form20.Table1.FieldbyName('Nombre').AsString:=Edit1.Text;
Form20.Table1.FieldbyName('Direccion').AsString:=Edit2.Text;
Form20.Table1.FieldbyName('Ciudad').AsString:=Edit3.Text;
Form20.Table1.FieldbyName('Telefono').AsString:=Edit4.Text;
Form20.Table1.Post;
end;

e buscado por toda la web, incluso aqui en CD, pero no e podido encontrar solucion de modificar las filas ya pre-establecidas.

e visto soluciones, con sql, pero el problema es que no se sql, y como dije arriba uso dbgrid, ttable, datasource.

muchas gracias.

-------Edito-------------------------

perdon, no se si este post pertenece aqui o a "Conexión con bases de datos"


saluOX

Caral 27-03-2010 17:19:48

Hola
Modificar = EDIT (Editar).
Insertar = INSERT (Insertar).
Lo que haces es insertar osea ampliar un dato en la tabla, si quieres Modificar se usa edit.
Ademas tienes que ABRIR la tabla.
Código Delphi [-]
procedure TForm21.Button1Click(Sender: TObject);
begin
Form20.Table1.Open; // abres la tabla
Form20.Table1.Edit; // modificas los datos
Form20.Table1.FieldbyName('Nombre').AsString:=Edit1.Text;
Form20.Table1.FieldbyName('Direccion').AsString:=Edit2.Text;
Form20.Table1.FieldbyName('Ciudad').AsString:=Edit3.Text;
Form20.Table1.FieldbyName('Telefono').AsString:=Edit4.Text;
Form20.Table1.Post; // guardas
end;
Saludos

SEKTOR 27-03-2010 17:58:09

gracias por responder

a ok.

entonces utilizo edit en vez de insert.

pero el detalle ahora es como edito la fila que yo necesite?

como por ejemplo la fila 3

Código Delphi [-]
procedure TForm21.Button1Click(Sender: TObject);
begin
Form20.Table1.Open; // abres la tabla
Form20.Table1.Edit; // modificas los datos
Form20.Table1.FieldbyName('Nombre').AsString:=Edit1.Text;
Form20.Table1.FieldbyName('Direccion').AsString:=Edit2.Text;
Form20.Table1.FieldbyName('Ciudad').AsString:=Edit3.Text;
Form20.Table1.FieldbyName('Telefono').AsString:=Edit4.Text;
Form20.Table1.Post; // guardas
end;

el code este me va a editar la columna Nombre, pero como puedo hacer para que me modifique la fila 3 de la columna Nombre?

--------------------------
|Nombre|Direccion|Ciudad| <------columnas
|-------|---------|------|
|pedro | juan |toño |
|-------|---------|------| <----filas
|ana | jose | hugo |
|-------|---------|------|
|luis | cerva | liux |
--------------------------

gracias.

saluOX

roman 27-03-2010 18:22:06

Con Paradox, creo que puedes usar la propiedad RecordNo del Table, para situarte en la fila. Pero realmente no es el método adecuado. Lo mejor es usar métodos como Locate o FindByKey para moverte al registro deseado.

// Saludos


La franja horaria es GMT +2. Ahora son las 07:21:29.

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