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

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #15  
Antiguo 08-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por Neftali
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".
ADOX_TLB ????!?!?!? de donde puedo sacar esa DCU ??? no lo tengo, y necesito crear un MDB por soft.

Te agradezco de antemano.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
 


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
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 09:55:16.


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