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-03-2005
logan_James logan_James is offline
Registrado
 
Registrado: mar 2005
Posts: 1
Poder: 0
logan_James Va por buen camino
Smile Como creo tablas para Access con Ado?

Hola! Soy nueo en esto. Estoy tratando de hacer una aplicacion con delphi 5. Esta usa msaccess, pero no se como crear las tablas dinamicamente. Tampoco pude hacer andar el ejemplo de TField de la ayuda. Si me ayudan se los agradeceria.
Responder Con Cita
  #2  
Antiguo 28-03-2005
Toñico Toñico is offline
Miembro
 
Registrado: ene 2005
Posts: 50
Poder: 20
Toñico Va por buen camino
Hola logan_James,

Tendrás que usar dos componentes de ADO: TAdoConnection y TAdoCommand.

En el ConnectionString del TAdoConnection tendrás que definir el acceso a la base de datos. Para crear las tablas comprobando antes que no existan uso el siguiente procedimiento:

Código:
  
Código Delphi [-]
 
procedure TDM.GenerarFichero;
Var
    cSQL: String;
    DatabaseTables: TStrings;
begin
    Try
// Tablas de la base de datos
        DatabaseTables := Nil;
        DatabaseTables := TStringList.Create;
        ADOCommand.Connection := ADOConnection;
        ADOConnection.GetTableNames(DatabaseTables,False);
// Crear tabla si no existe
        If DatabaseTables.IndexOf('Nombre_Tabla') = -1 then
        Begin
            cSQL := 'Create TABLE Nombre_Tabla (' +
                'Campo1 String(1), ' +
                'Campo2 Long, ' +
                'Campo3 String(18), ' +
                'Campo4 String(20) ' +
                ')';
            ADOCommand.CommandText := cSQL;
            ADOCommand.Execute;
// Crear clave primaria
            cSQL := 'CREATE INDEX idxPrimary '+
                'ON Nombre_Tabla (Campo2) WITH PRIMARY';
            ADOCommand.CommandText := cSQL;
            ADOCommand.Execute;
        end;
    Except
        on E: Exception do
        begin
            MessageDlg(E.Message,  mtWarning, [mbOk], 0);
            Application.Terminate;
        end;
    End;
end;
Un saludo.
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


La franja horaria es GMT +2. Ahora son las 10:13:03.


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