Base de datos

¿Es posible crear una base de datos en tiempo de ejecución en vb6?
¿Y cómo se hace?
Respuesta
1
Si se puede, utilizando ADOX.
Antes que nada tienes que hacer las siguientes referencias:
Microsoft ADO Ext. 2.6 for DDL and Security
Microsoft Jet and Replication Objects 2.6 Library
El código es el siguiente:
(Puedes ponerlo por ejemplo en un botón)
Dim C as ADOX.Catalog
C.Create "Provider=" & cboProvider.Text & ";" & _
"Data Source=" & txtNombreBase & ";"
Y listo. En el ejemplo se supone que tenemos un combo para elegir el proveedor, y un textbox en el que ingresamos el nombre y el path de la base de datos.
Para crear las tablas:
Dim C as New ADOX.Catalog
Dim T as New ADOX.Table
' Abrir el catálogo
C.ActiveConnection = _
"Provider=" & cboProvider.Text & ";" & _
"Data Source=" & txtNombreBase & ";"
'crear la tabla
With T
.Name = txtNombreTabla.Text
. Columns. Append "ID", adInteger
' Dependiendo del tipo de proveedor, los datos de cadena serán de un tipo u otro
If cboProvider.Text = "Microsoft.Jet.OLEDB.3.51" Then
' Para Access 97
.Columns.Append "Nombre", adVarChar, 50 ' Una cadena de 50 caracteres
.Columns.Append "Direccion", adVarChar, 50
Else
' Para Access 2000
.Columns.Append "Nombre", adVarWChar, 50 ' Una cadena de 50 caracteres
.Columns.Append "Direccion", adVarWChar, 50
End If
.Columns("Nombre").Attributes = adColNullable ' Permite contener nulos
.Columns("Direccion").Attributes = adColNullable
End With
'Añadir la tabla a la BD
C.Tables.Append T
Eso es todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas