Club Delphi  
    Paypal   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

 
 
Herramientas Buscar en Tema Desplegado
  #12  
Antiguo 01-03-2007
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: 19.437
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
Vamos a ver, no puede ser tan difícil.
Basándome en el código inicial, y añadiendo dos columnas, una para PK y otra para un campo entero Autoincremental queda así:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Catalog  : _Catalog;
  Table    : _Table;
  BaseName : String;
  DS       : String;
  col      : _Column;
  key      : _Key;
begin
  // Nombre de la Base de Datos
  BaseName := 'C:\Temp\MiBaseDatos.mdb';
  // Create a Catalog Object
  Catalog := CreateCOMObject(StringToGUID('ADOX.Catalog')) as _Catalog;
  // Set the Connection String
  DS := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+BaseName;
  // Check if we already have such a file and delete it
  If FileExists(BaseName) Then begin
    DeleteFile(BaseName);
  end;

  // Create new Access database
  Catalog.Create(DS);

  // Create a Table Object
  Table := CreateCOMObject(StringToGUID('ADOX.Table')) as _Table;
  // Set the name of a table
  Table.Name := 'MiTabla';
  // Append Table into the base
  Catalog.Tables.Append(Table);
  // Now add two columns (fields) into the table
  // Both are Text fields up to 128 characters
  Table.Columns.Append('Nombre', adVarWChar, 128);
  Table.Columns.Append('Apellido', adVarWChar, 128);

  // Creamos el objeto columna para el autoIncremental
  col := CoColumn.Create;
  // BD a la que pertenece
  col.ParentCatalog := Catalog;
  col.Name := 'Auntoincremental';
  // Tipo del campo
  col.Type_ := adInteger;
  // Asignamos que es un AutoIncremental
  col.Properties['AutoIncrement'].Value := True;
  // Añadimos la columna
  Table.Columns.Append(col, adInteger, col.DefinedSize);

  // Columna para la clave primaria
  col := CoColumn.Create;
  // BD a la que pertenece
  col.ParentCatalog := Catalog;
  col.Name := 'ClavePrimaria';
  col.Type_ := adInteger;
  // Añadirla
  Table.Columns.Append(col, adInteger, col.DefinedSize);

  // Creamos la clave primaria
  Key := CoKey.Create;
  Key.Name := 'ClavePrimaria';
  Key.Type_ := adKeyPrimary;
  // Columna que forma parte de la PK
  Key.Columns.Append('ClavePrimaria', adInteger, 0 );
  // Añadirla a la tabla
  Table.Keys.Append(Key, 0, EmptyParam, Unassigned, Unassigned);
end;

Añade al uses ADOX_TLB y ComObj.
A mi me crea la tabla perfectamente con los 4 campos.

Pruébalo y dime algo.

La prueba "del delito".
__________________
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.

Última edición por Neftali [Germán.Estévez] fecha: 01-03-2007 a las 13:06:31.
Responder Con Cita
 



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
Crear BD de forma dinamica en Access Coco_jac Varios 2 02-06-2005 19:47:00
Crear tablas vinculadas en BD Access castelaogz Conexión con bases de datos 0 11-03-2004 12:36:47
problemas con access piloto49er Conexión con bases de datos 1 03-02-2004 13:05:55
Crear campo en bbdd access en ejecucion Masu Conexión con bases de datos 1 07-01-2004 19:52:59
crear txt con datos access joanajj Conexión con bases de datos 4 10-09-2003 16:30:23


La franja horaria es GMT +2. Ahora son las 03:45:08.


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