Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-09-2011
Avatar de javier.m866
javier.m866 javier.m866 is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: Cuba
Posts: 51
Poder: 13
javier.m866 Va por buen camino
Como insertar datos

Hola a todos, mi problema es el siguiente. Tengo una base de datos hecha en Access 'Visitantes.mdb' con una tabla llamada 'Visitantes1' en mi form he puesto un Adoconnection, un Adotable, un Datasource y un DBGrird. Logro conectarlos todos perfectamente y se me visualizan los datos en el DBGrid, ahora me gustaría saber como puedo mediante un button insertar en la base de datos (en un campo determinado)
1-el texto de un edit.
2-Borrar un campo
3-modificar los datos de un campo
Muchas gracias de antemano por la atención prestada.
__________________
Agradezco que ustedes me acompañen.
Responder Con Cita
  #2  
Antiguo 09-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
al decir borrar un campo es eliminar el campo de la tabla o borrar el contenido del campo?

tblvisitante.append (adicionar registro)

tblvisitante.edit (modificar registro)
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 09-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
si en lugar de usar en EDIT utilizas un DBEDIT, los cambios que hagan se grabaran automaticamente a tu base de datos cuando se hace

tblvisitante.post
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 09-09-2011
Avatar de javier.m866
javier.m866 javier.m866 is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: Cuba
Posts: 51
Poder: 13
javier.m866 Va por buen camino
borrar sólo los datos

solamente los datos del campo
__________________
Agradezco que ustedes me acompañen.
Responder Con Cita
  #5  
Antiguo 09-09-2011
Avatar de javier.m866
javier.m866 javier.m866 is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: Cuba
Posts: 51
Poder: 13
javier.m866 Va por buen camino
por favor ponme un ejemplo

Disculpa es que soy nuevo en esto. No pudieras ponerme un ejemplo de como quedaría? porque utilicé 'tblvisitante.append (adicionar registro)' pero me da error
__________________
Agradezco que ustedes me acompañen.
Responder Con Cita
  #6  
Antiguo 09-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Como te aconsjea oscarac, usar TDBEdits es la opción más simple. Pero si aún decidis usar TEdits, sería:
Código Delphi [-]
{ Insertar }
procedure TForm1.btInsertarClick(Sender: TObject);
begin
  with ADOTable1 do
  begin
    Insert;  // o Append;
    FieldByName('Campo').AsString:= Edit1.Text;
    ...
    Post;
  end;
end;

{ Modificar }
procedure TForm1.btModificarClick(Sender: TObject);
begin
  with ADOTable1 do
  begin
    Edit;
    FieldByName('Campo').AsString:= Edit1.Text;
    ...
    Post;
  end;
end;

{ Borrar un registro }
procedure TForm1.btBorrarClick(Sender: TObject);
begin
  ADOTable1.Delete;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 09-09-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
pues mira yo siempre uso adoquery para insertar, modificar y eliminar, si te interesa pues puedo pasarte algunos codigo jejeje que tu implementarias o ajustarias, por ejemplo para modificar un campo

imagines un boton evento click y teniendo un adoquery conectado a la base de datos en el form

podria ser:

Código Delphi [-]
with adoquery do
begin
 sql.clear;
sql.add('update tabla set campo=:Pcampo');
sql.add('where campo=:Pclave');
parameter.parambyname('Pcampo').value:=valor a cambiaro o pasar la variable con el valos a modificar;
parameter.parambyname('Pclave').value:=algun valor para identificar el registro que quieres modificar;
execsql;

end

Última edición por microbiano fecha: 09-09-2011 a las 19:19:36. Razón: por error
Responder Con Cita
  #8  
Antiguo 09-09-2011
Avatar de javier.m866
javier.m866 javier.m866 is offline
Miembro
NULL
 
Registrado: ago 2011
Ubicación: Cuba
Posts: 51
Poder: 13
javier.m866 Va por buen camino
Muchisimas gracias a todos.

Muchísimas gracias a todos, han sido de gran ayuda. Gracias de verdad.
__________________
Agradezco que ustedes me acompañen.
Responder Con Cita
  #9  
Antiguo 22-10-2011
borisf borisf is offline
Registrado
 
Registrado: jul 2010
Posts: 3
Poder: 0
borisf Va por buen camino
Question un problema con este codigo

Cita:
Empezado por ecfisa Ver Mensaje
Hola.
{ Insertar }
procedure TForm1.btInsertarClick(Sender: TObject);
begin
with ADOTable1 do
begin
Insert; // o Append;
FieldByName('Campo').AsString:= Edit1.Text;
...
Post;
end;
end;

Saludos.
Hola yo también soy nuevo en este lenguaje y me pasa un problema, mira este código arriba me funciona bien, pero tengo un problema y es que cuando estoy en un registro de mi tabla y uso el comando insert, se supone que me inserte la información en una posición por delante de la que estoy parado pero cuando corre el comando post para salvar los cambios el registro nuevo se adiciona al final de la tabla y no en la posición que deseaba, en verdad no se qué me está faltando?? Gracias por adelantado

Última edición por borisf fecha: 22-10-2011 a las 01:23:03.
Responder Con Cita
  #10  
Antiguo 22-10-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.
Responder Con Cita
  #11  
Antiguo 22-10-2011
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
¿Usar moldeador de TField?

Aunque tal vez no venga a cuento, apunto lo siguiente, pidiendo excusas si me salgo de cauce.
Es un punto que a me dio bastante la lata.
Veo que se usa la asignacion Tablax.(punto)Campo para apuntar a los campos. ¿No sería mejor usar la concatenación TablaxCampoY sin el punto por el medio? La única diferencia es que se tienen que cargar los campos durante el diseño, pero parece más propio, ¿no?
¿O hay alguna diferencia en usar uno u otro?

Table1.FieldByName('Campo').asString := Edit1.Text;
Table1Campox.Assign (o lo que sea)
Responder Con Cita
  #12  
Antiguo 22-10-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por bulc Ver Mensaje
Aunque tal vez no venga a cuento, apunto lo siguiente, pidiendo excusas si me salgo de cauce.
Es un punto que a me dio bastante la lata.
Veo que se usa la asignacion Tablax.(punto)Campo para apuntar a los campos. ¿No sería mejor usar la concatenación TablaxCampoY sin el punto por el medio? La única diferencia es que se tienen que cargar los campos durante el diseño, pero parece más propio, ¿no?
¿O hay alguna diferencia en usar uno u otro?
Table1.FieldByName('Campo').asString := Edit1.Text;
Table1Campox.Assign (o lo que sea)
Hola bulc.

Hay varias formas para acceder a un campo:

Asignándolo directamente al nombre del campo persistente que hayamos creado:
Código Delphi [-]
  DataSetNombre.Value:= 'Juan';

Conociendo su posición, mediante la propiedad Fields:
Código Delphi [-]
  DataSet.Fields[0].Value:= 'Juan';

Conociendo su nombre, mediante la función FieldByName:
Código Delphi [-]
  DataSet.FieldByName('Nombre').Value:= 'Juan';


Mediante la propiedad FieldValues:
Código Delphi [-]
  DataSet.FieldValues['Nombre']:= 'Juan';
al ser esta la propiedad vectorial por defecto se puede simplificar a:
Código Delphi [-]
  DataSet['Nombre']:= 'Juan';
El resultado obtenido es el mismo, sea cual fuere el método que elijamos utilizar , pero:

Acceder mediante la propiedad Fields puede traer problemas si se reestructura la tabla y se cambia su posición, problema que no existe con el uso de FieldByName.

La asignación directa al nombre del campo es la más directa y eficiente, pero es la menos flexible. No podríamos por ejemplo, elegir un campo por nombre o posición en tiempo de ejecución.

Por último la opción más flexible es la propiedad vectorial por defecto ya que también permite cosas como:
Código Delphi [-]
var
  FV: Variant;
begin
  FV:= DataSet['Nombre;Domicilio;Telefono'];
  Label1.Caption:= FV[0]+' '+FV[1]+' '+FV[2]; 
  ...
Aunque esta flexibilidad paga un costo en eficiencia...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 24-10-2011 a las 05:56:15.
Responder Con Cita
  #13  
Antiguo 23-10-2011
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Gracias, Ecfisa, por tu aclaración.
Responder Con Cita
  #14  
Antiguo 25-10-2011
Avatar de CHECHE81
CHECHE81 CHECHE81 is offline
Miembro
 
Registrado: may 2007
Ubicación: Huauchinango, Puebla
Posts: 64
Poder: 17
CHECHE81 Va por buen camino
Saludos¡¡¡
Una cosa que yo utilizo es directamente el Grid junto con un Navigator asociado al DataSource y con ese objeto puedes hacer operaciones (Modificaciones, Agregar nuevo, Eliminar,Actualizar, Cancelar operación) que necesites sobre el registro seleccionado en tu Grid, directamente a los datos que te muestra, yo lo utilizo para catálogos pequeños, ok espero te sirva este dato.


(Navegador...)
__________________
Cuidemos el medio ambiente....jojo
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo insertar datos en la segunda hoja de excel Viky Servers 4 19-05-2011 20:02:38
Cómo insertar varios datos en una tabla? subzero PHP 1 08-07-2008 02:56:32
Como insertar datos a una tabla con un SP Tauro78 Firebird e Interbase 1 31-01-2007 22:46:13
Como insertar datos en forma SQL caifan_0883 SQL 6 28-12-2005 06:39:49
como insertar datos Nelly Varios 1 19-11-2005 04:15:26


La franja horaria es GMT +2. Ahora son las 19:28:55.


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
Copyright 1996-2007 Club Delphi