Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-07-2010
darkborrego darkborrego is offline
Miembro
 
Registrado: jun 2010
Posts: 18
Poder: 0
darkborrego Va por buen camino
Duda muy simple.

Hola,

estoy haciendo un pequeño programa para ir aprendiendo en esto de Delphi y tengo un problemilla.

Estoy manejando una base de datos Access en la que manejo asignaturas de la universidad. Necesito recorrer toda la base de datos y si en la columna "tipo" pone "troncal" restar el valor que haya en la columna "créditos" a otra variable que tengo en otra tabla.

La estructura que estoy haciendo es la siguiente:

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i:=0 to (necesito poner final de columna) do
begin
necesito poner
si columna_tipo:="TRONCAL" then
label6.caption:=label6.caption-columna_creditos;
end;
end;

Gracias!!
Responder Con Cita
  #2  
Antiguo 08-07-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo.
Para mi esto es un while not eof y colocar el dato en lagun lado, segun vallan apareciendo los datos que concuerden.
Tampoco entieno la forma en que quieres sumar label´s.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 08-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.318
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hola.
Lo primero hablemos con propiedad, sino no nos vamos a entender...

Cita:
Empezado por darkborrego Ver Mensaje
Necesito recorrer toda la base de datos y si en la columna "tipo" pone "troncal" restar el valor que haya en la columna "créditos" a otra variable que tengo en otra tabla.
Supongo que será toda la tabla.

Cita:
Empezado por darkborrego Ver Mensaje
for i:=0 to (necesito poner final de columna) do begin
Espero que será el final de la tabla.

Prueba con algo así:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  vcreaditos:integer;    // donde almacenaremos los creditos de cada asignatura
begin
   While (not tAsignatura.eof) do begin
      // acceder a los créditos
      vcreditos := tAsignatura.FieldByName('creditos').AsString;

      ...


      // siguiente registro
      tAsignatura.Next; 
                   end;
end;

Mención especial merece esta línea:

Código Delphi [-]
label6.caption:=label6.caption-columna_creditos;

label6.Caption ==> es una String
columna_creditos (o en el ejemplo de arriba vCreditos) ==> Es un entero

"No podemos SUMAR peras con MANZANAS porque la liamos".

Código Delphi [-]
// primeros convertimos el String a entero para poder sumar
i := vCreditos + StrToInt(Label6.Caption);
// el resultado lo volvemos a convertir a string para ponerlo en el Label
Label6.Caption := IntToStr(i);
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 08-07-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
A estas alturas el cementerio de gatitos ha de estar a reventar...
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 08-07-2010
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
Cita:
Empezado por AzidRain Ver Mensaje
A estas alturas el cementerio de gatitos ha de estar a reventar...
je je je si eso de los gatitos es válido para cuando usas access para accesar SQLServer, entonces esta mañana llevé al cabo toda una masacre de gatitos
__________________
Herr Heins Faust
Responder Con Cita
  #6  
Antiguo 08-07-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Malvado Faust...el matagatitos..jajaja

Ya en serio, ¿Por qué tanta gente sigue usando Access como "base de datos" cuando ni siquiera es gratis, ya no digamos libre. ¿No sería más sencillo bajarse FB, MySQL o hasta SQL Lite y con el empezar?
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 08-07-2010
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
Cita:
Empezado por AzidRain Ver Mensaje
Malvado Faust...el matagatitos..jajaja

Ya en serio, ¿Por qué tanta gente sigue usando Access como "base de datos" cuando ni siquiera es gratis, ya no digamos libre. ¿No sería más sencillo bajarse FB, MySQL o hasta SQL Lite y con el empezar?
Bueno, en mi caso lo uso porque me es muy útil vinculando las tablas de un servidor SQLServer y me muevo bien en access, al ejecutar una consulta o algo me es muy fácil exportarla a Excel, o a texto, o a casi todo lo que sea.

Lo he usado en conjunto con Delphi porque al utilizar ADO puedo llevar fácilmente mi programa sin necesidad de instalar nada a otros equipos, casi todas las pc tienen office con access y sino instalo el MDAC, aunque últimamente no lo he necesitado.

Saludos.

PD Acabo de ejecutar tres gatitos más

Ahhh lo olvido... ahora que lo mencionas ¿cómo empiezo con SQLite? que tengo que bajar... con que componentes lo uso en Delphi... como lo instalo si requiero distribuir una aplicación... etc, etc
__________________
Herr Heins Faust
Responder Con Cita
  #8  
Antiguo 09-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.318
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por AzidRain Ver Mensaje
¿Por qué tanta gente sigue usando Access como "base de datos" cuando ni siquiera es gratis, ya no digamos libre.
Seguimos con la confusión.
Access es una aplicación, no una Base de Datos.

Jet4 es el motor de Base de Datos de Microsoft que usa ficheros MDB. Se puede usar y distribuir libremente sin necesidad de pagar.
Access es un Administrador de Bases de Datos de Microsoft, de pago, para manejar Bases de Datos Access, pero no es el único y no es necesario usarlo si uno no quiere "matar gatitos".

Cita:
Empezado por AzidRain Ver Mensaje
¿No sería más sencillo bajarse FB, MySQL o hasta SQL Lite y con el empezar?
Realmente no es más sencillo ni más práctico en todos los casos.
Cada cosa para lo suyo. Access es una Base de Datos de escritorio y las que tú comentas son SGBD's.

(1) Si el desarrollador ya tiene Access (bastante habitual en usuarios Windows), trabajar con una Base de Datos MDB no requiere instalar nada.

Para los SGBD's (los que comentas y el resto) el usuario debe instalar un Servidor, tanto en desarrollo como en el cliente y además alguna herramientas de Administración de la Base de Datos (en la máquina de desarrollo).
En el caso de FB embebded, igualmente debes instalar, herramientas de Administración (como mínimo) y lo más probable que el Servidor en la máquina de desarrollo.

Por lo tanto, visto objetívamente, no es igual de fácil. Otra cosa es que uno quiera aprender y usar otros motores.

(2) Si el desarrollador no tiene Access instalado, estás en el mismo caso.

Pero sigo pensando que hay Bases de Datos de escritorio y SGBD's y cada cosa a lo suyo.

LLegados a este punto, ya se que alguno va a decir que soy un defensor de MS o de Access. No van por ahí los tiros, pero tampoco entiendo el porqué negarse a usar "algo" sin dar razones de porqué.

Los MDB (que no Access) y el motor Jet4 (que no Access) funcionan muy bien con ADO. Bastante mejor que utilizar Paradox+BDE en cuanto a eficiencia, rapidez y características. Siempre que se usen de forma adecuada y para lo que son (una Base de Datos de escritorio).

¿Que Jet4 y MDB no es libre? Cierto, pero que yo sepa Paradox nunca ha sido "Libre" y lo hemos utilizado durante muchos años en nuestras aplicaciones.

Podemos discutir, si queréis, sobre FB, MySQL, Access, Paradox, DBase,... la eficiencia, las características, las posibilidades, siempre y cuando se den razones.

Añadir que entre las aplicaciones que he programado he usado SQl Server, Oracle, IB, FB, MySQL (poco), Paradox, DBase y he "matado bastantes gatitos" y creo que todas tienen cabida, cada cual para lo suyo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 09-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.318
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Justo un rato después de "mantener" esta conversación me ha llegado el anuncio de que se ha liberado la versión 10.7 de ANY SQL Maestro.

Es una fantástica herramienta de Administración de Bases de Datos. Entre las muchas con las que trabaja están los fichreros MDB de Access. Cuenta con una versión Pro y una versión Free (que se puede descargar desde aquí).

Me recuerda mucho a otra fantástica herramienta que recmiendo siempre IBExpert.

Así que ya podéis usar ADO+MDB+ANYSQLMaestro y olvidaros de los ..... gatitos...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 09-07-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Yo no dije que era buena o mala elección, solo tenia curiosidad por saber algunas cosas que ya comentaste.

Faust: EL SQL Lite lo bajas aquí y para acceder puedes usar Zeos o tambien ADO. SQLite funciona sin instalar nada, sin servidor, sin configuración, si asignar permisos. Utiliza un archivo único para gestionar cada base de datos por lo que se puede copiar como cualquier otro archivo en cualquier medio.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #11  
Antiguo 09-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.318
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por AzidRain Ver Mensaje
Yo no dije que era buena o mala elección, solo tenia curiosidad por saber algunas cosas que ya comentaste.
Hola Azid. Se que no lo dijiste.

No pienses que la respuesta era sólo por lo que has comentado; Simplemente quería aprovechar el hilo aclarar algunas cosas. Me da la sensación de que a veces la gente se deja llevar por determinadas actitudes tipo:
"Todo lo de Microsoft es malo y funciona faltal"
"Todo lo que hace Google es fantástico"
"Todo lo que sea Linux es lo mejor y más eficiente"
"..."

En el caso de Access, en concreto, realmente mucha gente que empieza ni siquiera sabe que puede trabajar con Jet4 sin tener el Office instalado; De ahí que haya hecho el comentario.

Un salduo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 09-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.318
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por AzidRain Ver Mensaje
EL SQL Lite lo bajas aquí y para acceder puedes usar Zeos o tambien ADO.
Una pregunta Azid. Nunca he trabajado con SQLite.
¿Hay alguna herramienta de Administración?
¿La conexión desde Delphi con qué componentes se hace? Comentas con ADO; En ese caso es vía ODBC. ¿Hay algun driver nativo?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 09-07-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Zeos tiene soporte nativo y aquí hay unos componentes tambien para usarlo.
También tienes este tutorial para usar con Zeos:

Y aquí tienes otros componentes.

En realidad todos los componentes son meros "wrappers" y puedes acceder a SQLite mediante ODBC si lo prefieres, inclusive puedes usar Access como cliente, aquí hay otro tutorial.

Y claro, hay también muchas herramientas de administración, como esta.

SQLite es muy recomendable cuando quieres tener la potencia de SQL pero para manejar tablas locales, o bien para usar en dispositivos portátiles como USBs o DVDs.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #14  
Antiguo 09-07-2010
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
Cita:
Empezado por Neftali Ver Mensaje
Una pregunta Azid. Nunca he trabajado con SQLite.
¿Hay alguna herramienta de Administración?
¿La conexión desde Delphi con qué componentes se hace? Comentas con ADO; En ese caso es vía ODBC. ¿Hay algun driver nativo?
Apoyo esta pregunta...
__________________
Herr Heins Faust
Responder Con Cita
  #15  
Antiguo 09-07-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.318
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Thumbs up Gracias

Gracias Azid por los datos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #16  
Antiguo 09-07-2010
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
Cita:
Empezado por Neftali Ver Mensaje
Gracias Azid por los datos.
Gracias... buena info... ya tenía tiempo que tenía ganas de probar SQLite
__________________
Herr Heins Faust
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
una duda simple DARK_WARRIOR PHP 4 11-12-2008 21:33:02
Tengo una duda muy simple... ManuelPerez Varios 3 17-12-2007 02:33:00
consulta simple Patricio Varios 4 30-04-2007 21:02:48
Duda simple (Transacción InnoDB Tables) FunBit Varios 1 30-12-2005 16:50:19
Simple... Nina OOP 3 06-06-2005 13:24:43


La franja horaria es GMT +2. Ahora son las 03:14:21.


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