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)
-   -   como almacenar informacion desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=17261)

jas010 31-12-2004 01:31:14

como almacenar informacion desde delphi
 
como estan todos........
necesito su ayuda, como almaceno informacion a mi base de datos hecho en access desde DBedith ya sea desder un boton y es de la misma forma para un bdgrid :confused:

Neftali [Germán.Estévez] 31-12-2004 09:24:40

Necesitas varios componentes:
(1) Una conexión (ADOConnection)
(2) Una fuente de datos (ADOTAble, ADOQuery)
(3) Un conector (DataSource)
(4) Unos controles DBEdit.

Configura la propiedades ConnectionString de tu conexión (a la BD Access utilizando Jet 4 OLE DB...)
Conecta tu (2) a (1) y configura la propiedad TableName/SQL dependiendo de si es ADOTable/ADOQuery
Conecta (3) a (2) utilizando la propiedad DataSet
Conecta tus DBEdit a (3) utilizando la propiedad DataSource y configura la propiedad DataField; Con eso debería bastar.

De todas formas dentro del directorio demos de Delphi, hay una carpeta llamada DB donde tienes bastantes demos de trabajo con Base de Datos; Antes de empezar deberías echarles un vistazo.

jas010 31-12-2004 16:09:11

gracias amigo por contestar

pero esa no es mi duda yo ya lo tengo la base de datos conectada al software
con los componentes que mencionaste anteriormente. mi duda es en que evento y como debo programar dando las ordenes de guardado de varios bdedithen mi formulario:D

Neftali [Germán.Estévez] 03-01-2005 10:38:09

Pon un botón; Caption='Guardar'; evento OnClick:
Código Delphi [-]
   ADOTable1.Post;

P.D: Sigo con mi recomendación de que mires las Demos existentes.

jas010 05-01-2005 01:14:55

como manejo una bd en access
 
disculpen el exceso de preguntas que quiza sean obias pero como hago para que el cursor se posicione en la ultima fila y para que habra espacio para enexar un nuevo registro:(

Neftali [Germán.Estévez] 05-01-2005 09:21:53

Código Delphi [-]
   ADOTable1.Append;

Busca en la ayuda de Delphi: TDataSet;
Dentro de métodos selecciona Append.
En esa misma página hay un ejemplo.

P.D: Sigo con mi recomendación de que mires las Demos existentes.

jas010 05-01-2005 18:53:07

No se donde esta el error
 
este el codigo que estoy usando para almacenar a mi bd y cuando ejecuto el programa y pulso el boton me sale un error segun yo esto especifica la columna de la tabla ['CI'] y le asigno lo que contiene el edit1.
no se donce estoy fallando:confused: ah neftali ya lo he revisado todos los demos que tiene delphi como me recomendaste pero tiene problemas estos demos y no son de mucha ayuda pero gracias...


procedure TForm1.guardarClick(Sender: TObject);
begin
ADOTable1.Append;
ADOTable1.FieldValues['CI'] := Edit1.text;
ADOTable1.FieldValues['NOMBRE'] := Edit2.text;
ADOTable1.Post;

Neftali [Germán.Estévez] 07-01-2005 10:08:12

Cita:

Empezado por jas010
...me sale un error

¿Y qué error te sale?
El código que pones es correcto, siempre que la tabla esté ya abierta. El error que te sale te estará dando información de porqué no está funcionando. Tal vez algun campo esté marcado como obligatorio, o duplicados en la clave primaria, o...

Para poder decirte más debes añadir el error.

jas010 10-01-2005 22:19:03

una suposicion
 
ya halle el error que tenia pero yo imagino que este codigo deberia guardarme a la base de datos cosa que no guarda ni un solo campo y aun sigo haciendo reviciones

jas010 10-01-2005 23:42:46

Ya Lo Encontreeeeeee ........ :)
 
SALUDOS NEFTALI
ya halle mi error el porque no guardaba, ya no es problema.........
ahora mi problema es ¿Como actualizo mi base de datos (access) ?
intente poner este codigo

adotable.refresh;

este codigo deberia actualizar mi base de datos no es cierto....?

Neftali [Germán.Estévez] 13-01-2005 14:07:40

Cita:

Empezado por jas010
¿Como actualizo mi base de datos (access) ?
intente poner este codigo

adotable.refresh;

este codigo deberia actualizar mi base de datos no es cierto....?

Explícate mejor, ¿Qué entienedes por actualizar la Base de Datos?; Tú tienes el problema en mente, pero nosotros no...

jas010 16-01-2005 00:44:03

mi Duda
 
bueno primero agradecerte neftali por hacerme ver mi error respecto a mis preguntas pero yo recien me estoy iniciando en esta area de programacion me gusta y tengo muchas curiosidades y no se si tienes direccion de tutoriales para llenar mis dudas y curiosidades respecto al manejo se base de datos (access y sql), el manejo de componetes y eventos te lo agradeceria mucho
saludossss

:confused: cuando intento compilar mi aplicacion me produce por un error que es el siguiente" statement expected but'procedure' found" ya lo he revisado y no se en que pueda estar fallando
el procedure esta declarado en type como todos los demas :( este es el codigo, estoy poniendo 20 TDateTimePicker.
ya que si el usuario desea, se pueda grabar 20 veces en la base de datos
con fechas distintas


procedure Taulas.mod_cantChange(Sender: TObject);
begin
if mod_cant.Text='1' then
begin
mod_dia1.Enabled:=true;
//////////
mod_dia2.Enabled:=false;
mod_dia3.Enabled:=false;
mod_dia4.Enabled:=false;
end;
else
.
.
.
.
else
if mod_cant.Text='20' then

y para dar la orden de guardado

procedure Taulas.guardarClick(Sender: TObject);
begin
if mod_dia1.Enabled=true then
begin
ADOTable1.Append;
ADOTable1.FieldValues['fecha_prest']:=mod_dia1.Date;
ADOTable1.Post;
end
else
if mod_dia2.Enabled=true then
.
.
.
if mod_dia20.Enabled=true then
y asi siguen las ordenes para cada una de ellos.
la verdad no se me ilumina

Lepe 16-01-2005 10:54:24

Así es imposible ayudarte.

En primer lugar usa las etiquetas

[ delphi ]

codigo fuente aqui

[ /delphi ]
(sin los espacios dentro del corchete)
para que el código quede con los espacios y pueda leerse con comodidad.(si no lo haces, es una locura identificar que "end" corresponde con su "begin", y poca gente te ayudará).

En segundo lugar pega el codigo completo alrededor del error que te da, indicando la linea concreta de error.

En tercer lugar: Ese tipo de error es de compilación, te dice que se espera "algo" pero encuentra un "procedure", lo cual significa que falta un "end", una un "finally" o algo por el estilo al final de un procedimiento

Saludos

Neftali [Germán.Estévez] 17-01-2005 10:20:27

Cita:

Empezado por jas010
...cuando intento compilar mi aplicacion me produce por un error que es el siguiente" statement expected but'procedure' found" ya lo he revisado y no se en que pueda estar fallando...

Bueno, ésto da un poco más de info; Apoyo lo dicho anteriormente (TAGS y demás...) y revisa desde la línea donde te da ese error hacia atrás; Debe faltar un end o debes haber puesto un ; donde no debería estar.

jas010 19-01-2005 01:51:08

como puedo hacer????
 
Como puedo hacer comparaciones o hacer una busqueda en mi base de datos
con informacion ingresada por el usuario desde un edit.text:confused:

Ejemplo: Si yo quiero prestar la pelicula con el codigo "007", y necesito saber si es que ya esta prestado o esta reservado y/o esta disponible, y si esta prestado que me muestre un showmessage diciendome:"el codigo de la pelicula no se encuentra disponible y fue prestado o esta reservado a: [Armando Carpas Porsillueve] ".
mi duda es que si hay algun evento o propiedad que deba estudiar a fondo para dicho objetivo anteriormente mencionado.. se los agradeceria.... :)

Salu2 de BOlivia; )

jas010 19-01-2005 17:02:43

Algunas Aclaraciones
 
mi base de datos esta hecha en access tengo todas las conecciones con adoconnection y adotable y ya tengo las ordenes de guardado, osea que ya puedo guardar informacion a la base de datos(access)
lo que necesito es saber si ya hay ordenes o eventes o propiedades que me ayuden y donde pueda comparar antes de guardar o prestar las peliculas....

los campos son:
COD_PELICULA =>TEXT
nombre_prestatario=>text
FECHA_prestamo=>DATE/TIME
HORA_ENTREGA=>DATE/TIME
HORA_DEVOLUCION=>DATE/TIME
y mis condiciones tiene que ir en referencia a estos campos
si no esta libre que me devuelva un showmessage :)


Salu2 ;)

Neftali [Germán.Estévez] 19-01-2005 17:45:57

Cita:

Empezado por jas010
...lo que necesito es saber si ya hay ordenes o eventes o propiedades que me ayuden y donde pueda comparar antes de guardar o prestar las peliculas....

los campos son:
COD_PELICULA =>TEXT
nombre_prestatario=>text
FECHA_prestamo=>DATE/TIME
HORA_ENTREGA=>DATE/TIME
HORA_DEVOLUCION=>DATE/TIME
y mis condiciones tiene que ir en referencia a estos campos
si no esta libre que me devuelva un showmessage :)


Salu2 ;)

Deberías echarle un vistazo y hacer algunas pruebas con SQL.
Utilizando un TADOQuery puedes utilizar un ADOConnection y configurar el SQL que necesites; Lanzar un SQL contra la BAse de Datos es como lanzarle una pregunta; El ADOQuery te devolverá una respuesta y con ella luegos haces una cosa u otra, en tu caso:
(a) Guardar los datos.
(b) No guardar y sacar ShowMessage.

Por ejemplo puedes lanzar el SQL siguiente:
Código SQL [-]
   SELECT * FROM peliculas WHERE COD_PELICULA = '1234'

Eso te devolvería todos los campos (SELECT *) de todos los registros de la tabla peliculas ( FROM peliculas) que cumplan ese código (COD_PELICULA = '1234'); Se supone que un sólo registro porque no tendrás películas con códigos duplicados.
Luego consultas los campos que te interesen y actuas en consecuencia...


La franja horaria es GMT +2. Ahora son las 18:56:12.

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