PDA

Ver la Versión Completa : Como crear una BD y talbas en SQL2000 desde Delphi 5


laguilar59
15-01-2013, 00:12:25
Hola a todos

Ojalá me pudieran orientar para encontrar la forma de crear desde Delphi5 una Bases de Datos y sus tablas en SQL 2000.

El codigo siguiente lo ejecuto desde el Analizador de SQL y no hay problema pero se me compplica para como pasarlo a codigo Delphi:

CREATE DATABASE IF NOT EXISTS Migracion23; // creamos la base de datos
USE Migracion23;
// creamos las tablas
CREATE TABLE [Alumnos1112] (
[IdAlumno] [decimal](18, 0) NOT NULL ,
[ApellidoPaterno] [varchar] (35) COLLATE Modern_Spanish_CI_AS NULL ,
[ApellidoMaterno] [varchar] (35) COLLATE Modern_Spanish_CI_AS NULL ,
[Nombre] [varchar] (30) COLLATE Modern_Spanish_CI_AS NULL ,
[Genero] [char] (1) COLLATE Modern_Spanish_CI_AS NULL ,
[FechaNacimiento] [smalldatetime] NULL ,
[FechaActualizacion] [datetime] NULL ,
[Curp] [varchar] (18) COLLATE Modern_Spanish_CI_AS NULL ,
[LenguaMaterna] [varchar] (65) COLLATE Modern_Spanish_CI_AS NULL ,
[SoundexN] [varchar] (100) COLLATE Modern_Spanish_CI_AS NULL ,
[SoundexPA] [varchar] (100) COLLATE Modern_Spanish_CI_AS NULL ,
[SoundexSA] [varchar] (100) COLLATE Modern_Spanish_CI_AS NULL ,
[descripcion] [varchar] (45) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[IdEstado] [char] (2) COLLATE Modern_Spanish_CI_AS NULL ,
[IdMunicipio] [char] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[IdLocalidad] [char] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[FolioDocProbatorio] [varchar] (20) COLLATE Modern_Spanish_CI_AS NULL ,
[AnioRegistro] [varchar] (2) COLLATE Modern_Spanish_CI_AS NULL ,
[NumeroLibro] [varchar] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[FolioLibro] [varchar] (6) COLLATE Modern_Spanish_CI_AS NULL ,
[Nacionalidad] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[IdControl] [varchar] (15) COLLATE Modern_Spanish_CI_AS NULL ,
[EducacionNacional] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[AtendidoEnConafe] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[EstadoNacimiento] [char] (2) COLLATE Modern_Spanish_CI_AS NULL ,
[MunicipioNacimiento] [char] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[LocalidadNacimiento] [char] (4) COLLATE Modern_Spanish_CI_AS NULL ,
[AtencionEspecial] [bit] NULL
) ON [PRIMARY]
GO

Ya tengo mi conección al servidor de SQL:

AdoQuery1.Close;
xNomServidor := Edit1.Text;
AdoQuery1.ConnectionString:='Provider=SQLOLEDB.1;Password=xPwd;Persist Security Info=True;User ID=sa;Initial Catalog=ControlEscolar;Data Source=' + xNomServidor;


Pero donde estoy atorado es en la parte de como pasar este codigo a lenguaje delphi.

Como siempre ¡Gracias de antemano por la ayuda que me pudiesen dar!


Saludos

Luis Aguilar

olbeup
15-01-2013, 08:53:53
Para crear la base de datos:
CREATE DATABASE Migracion23
ON PRIMARY
(
NAME = 'Migracion23_Datos',
FILENAME = 'C:\TuPath\Databases\Migracion23.mdf',
SIZE = 3MB,
FILEGROWTH = 10%
)
LOG ON
(
NAME = 'Migracion23_Log',
FILENAME = 'C:\TuPath\Databases\Migracion23.ldf',
SIZE = 500KB,
FILEGROWTH = 10%
)

Las tablas que cuelgan de la base de datos, pues tal cual como lo has puesto

Un saludo.

Neftali [Germán.Estévez]
15-01-2013, 09:42:08
Lanza las sentencias de forma separada, en lugar de lanzar todo el script de golpe.

laguilar59
17-01-2013, 00:01:17
Gracias, pero creo que no fuí claro: Desde SQL no tengo problema en generar la base de datos y las tablas, en donde se me complica es Hacerlo en Delphi , o sea pasar ese script que uso para crear la BD y la Tabla a mi aplicacion de Delphi; Como hacer para que desde Delphi me cree la BD y la Tabla, estuve investigando y creo se puede hacer con el AdoCommand pero seguire checando.

Gracias nuevamente por los tips.

Saludos

Luis Aguilar

Neftali [Germán.Estévez]
17-01-2013, 10:03:08
Las tablas se pueden crear con ADOCommand o ADOQuery indistintamente, lanzando las sentencias "ALTER TABLE"; Lo que te quería decir es que debes lanzar una sentencia cada vez.
Lo de crear la Base de Datos, no lo he probado, pero pienso que debe ser igual.

laguilar59
23-01-2013, 02:56:20
Gracias por la ayuda!!!

Ya pude crear la base de datos desde mi aplicación.

Lo hice con un AdoQuery:

ADOQuery1.Close; // Por estado
ADOQuery1.Sql.Clear;
AdoQuery1.sql.add(' CREATE DATABASE Migracion' ); // creamos la base de datos
AdoQuery1.Open;
AdoQuery1.execSql;


Así de sencillo!!!

Mil gracias por la ayuda.

Casimiro Notevi
23-01-2013, 11:49:01
Recuerda poner los tags al código fuente, ejemplo:

http://www.clubdelphi.com/images/UtilizarTAGs.png

Gracias :)