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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2017
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 279
Poder: 15
emeritos Va por buen camino
Access + Delphi

Hola dilferos.

Necesito a traves del delphi 7 acceder a una base de datos access.accdb (en Office 10).
No se si lo estoy haciendo bien.He utilizado el compomente ADOConnection --> Use Connection String: Proveedor Microsof Office DataBase Engine OLE DB Provid,. Conexion --> Origen de datos: C:\Facturacion\xxxx.accdb (No se si lo estoy haciendo bien pero de momento me deja conectarme).

Ahora lo que necesito otro compomente para acceder a cada unas de las tablas y sobre todo que se pueda trabajar con ella en el lenguaje SQL. Pero no se cual es. he probado algunos pero no me funciona.

Mi pregunat es si me podeis ayudar. Gracias.
Responder Con Cita
  #2  
Antiguo 14-02-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.425
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por emeritos Ver Mensaje
Mi pregunat es si me podeis ayudar. Gracias.
Sí, te podemos ayudar


Mira los enlaces al final de página, abajo del todo, seguramente te servirán.
Responder Con Cita
  #3  
Antiguo 14-02-2017
Avatar de Neftali
Neftali Neftali is offline
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.285
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
Cita:
Empezado por emeritos Ver Mensaje
Ahora lo que necesito otro compomente para acceder a cada unas de las tablas y sobre todo que se pueda trabajar con ella en el lenguaje SQL. Pero no se cual es. he probado algunos pero no me funciona.
Un TADOTable y rellennar el nombre de la tabla (TableName) o un TADOQuery y rellenar la sentencia SQL que quieres utilizar.
__________________
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 14-02-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.773
Poder: 27
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 behold
Hola eméritos.

La consulta es muy general, pero para lo que deseas hacer podes usar el componente TADOQuery. Te pongo un ejemplo básico que incluye también un TADOConnection, un TDataSource y un TDBGrid.
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  ac: TADOConnection;
  qy: TADOQuery;
begin
  ac := ADOConnection1;
  qy := ADOQuery1;

  ac.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
    'Data Source=C:\Program Files\Common Files\Borland Shared\Data\dbdemos.mdb;'+
    'Persist Security Info=False';
  ac.Connected := True;

  qy.Connection := ac;
  qy.SQL.Text := 'SELECT * FROM COUNTRY';
  qy.Open;

  DataSource1.DataSet := qy;
  DBGrid1.DataSource  := DataSource1;
end;
En este caso la sentencia SQL se limita a consultar los campos de la tabla country para mostrarlos en la grilla.
Hice las relaciones en tiempo de ejecución para puedas apreciarlas mas claramente pero podes entablarlas en tiempo de diseño sin problemas.


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 14-02-2017
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 279
Poder: 15
emeritos Va por buen camino
Buenas.

Porque os sale la base de datos con extension .mdb y a mi con esta extension .accdb
Responder Con Cita
  #6  
Antiguo 14-02-2017
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 279
Poder: 15
emeritos Va por buen camino
He conseguido ponerlo en .mdb, tambien accedo a la base de datos y he conseguido engancharlo a un DBGrill, pero me sale un error a la hora de insertar en DBGrill:

exception class EOLeException with message "El sistema operativo no admite la secuencia de ordenacion seleccionada".

por que puede ser. Gracias.
Responder Con Cita
  #7  
Antiguo 14-02-2017
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.372
Poder: 15
fjcg02 Va camino a la fama
Cita:
Empezado por emeritos Ver Mensaje
... he conseguido engancharlo a un DBGrill, ...
juer, saldrán los datos tostaditos....

( Es bromaaaaaaa )

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #8  
Antiguo 14-02-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.773
Poder: 27
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 behold
Hola.
Cita:
Empezado por emeritos Ver Mensaje
He conseguido ponerlo en .mdb, tambien accedo a la base de datos y he conseguido engancharlo a un DBGrill, pero me sale un error a la hora de insertar en DBGrill:

exception class EOLeException with message "El sistema operativo no admite la secuencia de ordenacion seleccionada".
Supongo que no estas usando la sentencia SQL adecuada.

Ejemplo de inserción usando la tabla y campos del caso anterior:
Código Delphi [-]
// Insertar algunos datos...
procedure TForm1.btnInsertClick(Sender: TObject);
var
  qy: TADOQuery;
begin
  qy := ADOQuery1;
  qy.Close;
  qy.SQL.Clear;
  qy.SQL.Add('INSERT INTO COUNTRY (NAME, CAPITAL, CONTINENT, AREA, POPULATION)');
  qy.SQL.Add('VALUES(:NAME,:CAPITAL,:CONTINENT,:AREA,:POPULATION)');
  qy.Parameters.ParamByName('NAME').Value       := 'NUEVO_COUNTRY';
  qy.Parameters.ParamByName('CAPITAL').Value    := 'NUEVA CAPITAL';
  qy.Parameters.ParamByName('CONTINENT').Value  := 'NUEVO CONTINENTE';
  qy.Parameters.ParamByName('AREA').Value       := 100000;
  qy.Parameters.ParamByName('POPULATION').Value := 50000;
  qy.ExecSQL;
end;
Las acciones de inserción, modificación y borrado se logran de manera transparente (sin tener que escribir las sentencias SQL correspondientes) si usas un TADOTable como te sugirió Neftali. Me remití al TADOQuery por que en tu primer mensaje indicas:
Cita:
...para acceder a cada unas de las tablas y sobre todo que se pueda trabajar con ella en el lenguaje SQL.
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 14-02-2017
Avatar de Neftali
Neftali Neftali is offline
-Germán Estévez-
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 15.285
Poder: 10
Neftali Va camino a la famaNeftali Va camino a la fama
Cita:
Empezado por emeritos Ver Mensaje
exception class EOLeException with message "El sistema operativo no admite la secuencia de ordenacion seleccionada".
¿Puedes poner la sentencia SQL que estás utilizando?
¿Qué operación estás haciendo cualdo aparece ese error?
¿En en debug (en el IDE) o cuando ejecutas el EXE directamente aparece también?
__________________
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 14-02-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 351
Poder: 12
bitbow Va camino a la fama
Si estas usando TTable o TQuery (los componentes ADO TADOQuery, TADOTable), es distinto el modo de insercion y edicion, en el caso del TQuery debes poner la sentencia SQL y en el caso del TTable puedes agregar directamente ya sea con el control dbnavigator o con insert, edit, append.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
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
Delphi - Access spring123 Tablas planas 3 26-08-2016 09:07:24
Delphi y Access silviodp Tablas planas 14 06-09-2006 22:25:47
Access con delphi javikanin Conexión con bases de datos 0 26-11-2004 14:00:00
SQL de Access a Delphi Anunakis Tablas planas 6 14-07-2004 14:50:30
Delphi 6 y Access esocrates Conexión con bases de datos 4 04-09-2003 19:28:09


La franja horaria es GMT +2. Ahora son las 15:58:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi