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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
problemas con tablas

Hola. Yo sigo liado con el delphi pero sigo teniendo problemas.
Tengo la aplicacion ya hecha pero tengo problemas con las tablas, proque hasta ahora estaba guardando las cosas en array, ahora tengo el problema de guardarlas en tablas.
Tengo creadas varias tablas con sus datasources, tables, y leyendo y leyendo me he liado, estaba con la cara oculta de delphi 4, pero no me aclaro con las cosas basicas.

Por lo que se y me ha apuntado roman, la lectura de un registro es facil:
Código Delphi [-]
{ Copiamos el valor del campo 'nombre' en el cuadro de edición Edit1 }
Edit1.Text := Table1.FieldByName('nombre').AsString;
y viceversa.
Pero se que hay cosas basicas usando la propiedad state pero no se usarla.

Si me podriais indicar brevemente estos parametros os lo agradeceria:
para posicionarse en un registro y modificarlo,
para añadir un nuevo registro es con table1.insert
y para borrarlo con table1.delete, modificarlo seria con table1.update;
pero tengo el problema es como funciona esto.
Bueno no quiero aburriros, seria para abrir, modificar, añadir y borrar registros, los parametros basicos y si hay que cerrar o no el archivo porque me sale que me dice que esta siendo usado por otro usuario.

o si bien, me recomendais algun libro que venga bien explicado desde lo basico el tratamiento de tablas.

muchas gracias por vuestra paciencia
Responder Con Cita
  #2  
Antiguo 27-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo que te voy a decir, es otra filosofía de la usada por roman, con eso quiero decirte que "es igual pero no es lo mismo"

- Sitúa un TDBNavigator en tu ventana, asigna en el inspector de objeto su datasource.
- Coloca un DBEdit en tu ventana, asigna el Datasource y el FieldName.
Repite este paso para cada campo que tengas en la tabla.

Ahora no tienes más que ejecutar la aplicación y usar los botones del TDBNavigator para crear/eliminar/moverte/guardar cambios/cancelar cambios de tu tabla.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 27-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Se agradece lepe, ese metodo ya lo habia probado, la pregunta es como se puede hacer usando otro metodo sin usar el tbnavigator, haciendolo a traves de codigo, tipo table1.open, table1.insert...

gracias
Responder Con Cita
  #4  
Antiguo 27-05-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
modificarlo seria con table1.update;
Código Delphi [-]
Table1.Edit;

Lo mejor es que hagas lo que dice Lepe colocar un DbNavigator.

Pero si quieres poner botones propios y el código correspondiente también puedes.
Código Delphi [-]
Table1.First;
Table1.Prior;
Table1.Next;
Table1.Last;
Table1.Delete;
Table1.Edit;
Table1.Append;
Table1.Cancel;
Table1.Refresh;
Seguramente se me habrá olvidado alguno lo he puesto de memoria pero ese sería el código de los botones aproximadante.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 28-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias, a eso me referia, son cosas basicas que puedes asignarlas a botones sin tener que usar un navigator.
Lo unico que me falta es saber si hay alguna forma de asignarle a la tabla el estado, porque he intentado hacer table1.state pero me pide parametros y no se si es conveniente asignarle parametros en funcion de lo que quiero hacer o simplemente vale con lo que me has puesto de table1.edit, table1.append,...

gracias
Responder Con Cita
  #6  
Antiguo 28-05-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El estado de un Dataset no puede cambiarse puesto que la variable State, indica cual es su estado.

Es para consultar el estado de un Dataset en un momento dado.

Si haces:
Código Delphi [-]
Table1.Append; //estará en "Insert"
etc.

Cita:
dsInactive Dataset is closed, so its data is unavailable.
dsBrowse Data can be viewed, but not changed. This is the default state of an open dataset.
dsEdit Active record can be modified.
dsInsert The active record is a newly inserted buffer that has not been posted. This record can be modified and then either posted or discarded.
dsSetKey TTable and TClientDataSet only. Record searching is enabled, or a SetRange operation is under way. A restricted set of data can be viewed, and no data can be edited or inserted.

dsCalcFields An OnCalcFields event is in progress. Noncalculated fields cannot be edited, and new records cannot be inserted.
dsFilter An OnFilterRecord event is in progress. A restricted set of data can be viewed. No data can edited or inserted.
dsNewValue Temporary state used internally to indicate that a field component’s NewValue property is being accessed.
dsOldValue Temporary state used internally to indicate that a field component’s OldValue property is being accessed.

dsCurValue Temporary state used internally to indicate that a field component’s CurValue property is being accessed.
dsBlockRead Data-aware controls are not updated and events are not triggered when the cursor moves (Next is called).
dsInternalCalc Temporary state used internally to indicate that values need to be calculated for a field that has a FieldKind of fkInternalCalc.
dsOpening DataSet is in the process of opening but has not finished. This state occurs when the dataset is opened for asynchronous fetching.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 29-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias por las respuestas.
Pregunta: si tengo varios forms-units, y en uno de ellos tengo un table1 y un datasource, puedo llamarlos desde otros forms al estilo form2.table1.open ?, porque me esta dando error.

cuando meto en un form un datasource y una table y lo quiero usar en otro form, me deja teclear form2.table1.open; pero al ejecutar el programa y abrir la tabla me dice que violacion de memoria. cuando lo uso desde el mismo form no hay problema, se necesita crear los mismos dataset y table en el form que se esta usando aunque ya se hayan colocado los mismos en otro form?.

gracias

Última edición por anubis fecha: 29-05-2007 a las 04:46:53.
Responder Con Cita
  #8  
Antiguo 29-05-2007
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Post Usa un Datamodule

Amigo Anubis, te recomiendo un DataModule para concentrar todos tus objetos de bases de datos y añádirlo en cualquier form o módulo *.pas en que lo necesites y desde ahí ya puedes accesarlo en todos los forms que quieras.
__________________
Herr Heins Faust
Responder Con Cita
  #9  
Antiguo 29-05-2007
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias por la sugerencia, estuve revisando sobre el datamodule, funciona como un form o una unit normal, entonces ahi, como dices, puedo colocar todo lo qu equiera, y puedo usarlo en cualquer form sin tener esos problemas de llamar a una tabla de otra unit-form?.

gracias


p.d; o como funciona a grandes rasgos un datamodule, porque en el help no me entero
Responder Con Cita
  #10  
Antiguo 29-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
El Datamodule es... simplemente lo que ves Un cajón blanco donde poner objetos no visuales. Es un componente que se crea y se destruye igual que cualquier Form, pero nunca lo verá el usuario.

Puedes tener tantos Datamodules como quieras, uno para las consultas de los informes, otro para las tablas, etc. Separa conceptualmente los objetos que contiene.

Si usas un solo Datamodule para todo, encontrar una consulta o una tabla es tedioso. Si usas un Datamodule para la ventana de Clientes, otro para la ventana facturas, etc... encontrarás las cosas más rápido y será todo más claro.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



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
Problemas con Tablas y relaciones leodelca23 Tablas planas 5 12-09-2006 02:29:14
Problemas con indices en tablas dbf robertoliendo Conexión con bases de datos 1 26-05-2005 16:42:19
Problemas Con Tablas Paradox Mario1980 Conexión con bases de datos 5 24-02-2005 13:13:45
problemas con tablas paradox perico Conexión con bases de datos 9 31-01-2005 19:17:16
Problemas con tablas Paradox 7 Mario1980 Conexión con bases de datos 0 20-01-2005 13:41:06


La franja horaria es GMT +2. Ahora son las 22:17:42.


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