Re: Consulta sobre TDolphin
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Hola buenas tardes, tengo una consulta, estoy queriendo crear las tablas desde código usando el ejemplo bldtbls.prg de la carpeta samples.
El tema es que se me cuelga la app.
Es una tabla de clientes, relacionada a la tabla de localidades y esta ultima a la tabla de provincias.
La pregunta es si esta bien o hay algo que yo no vea que este haciendo mal. Desde ya gracias
Saludos desde Argentina.
El tema es que se me cuelga la app.
Es una tabla de clientes, relacionada a la tabla de localidades y esta ultima a la tabla de provincias.
La pregunta es si esta bien o hay algo que yo no vea que este haciendo mal. Desde ya gracias
Saludos desde Argentina.
- Code: Select all Expand view
PROCEDURE CreaBD(oServer)
LOCAL cQuery
LOCAL aQuery := Array( 5 )
*-----------------------------------------------------------------
aQuery[ 1 ] = "DROP TABLE IF EXISTS provincia"
aQuery[ 2 ] = "DROP TABLE IF EXISTS localidad"
aQuery[ 3 ] = "DROP TABLE IF EXISTS clientes"
*-----------------------------------------------------------------
//provincia
aQuery[ 4 ] = "CREATE TABLE provincia("
aQuery[ 4 ] += "pcia_id INT NOT NULL AUTO_INCREMENT, "
aQuery[ 4 ] += "nombre VARCHAR(50) NOT NULL, "
aQuery[ 4 ] += "PRIMARY KEY (pcia_id)) ENGINE = InnoDB"
*-----------------------------------------------------------------
//localidad
aQuery[ 5 ] = "CREATE TABLE localidad("
aQuery[ 5 ] += "loc_id INT NOT NULL AUTO_INCREMENT, "
aQuery[ 5 ] += "nombre VARCHAR(50) NOT NULL, "
aQuery[ 5 ] += "codigo_postal VARCHAR(4), "
aQuery[ 5 ] += "pcia_id INT, "
aQuery[ 5 ] += "PRIMARY KEY (loc_id) INDEX (pcia_id),"
aQuery[ 5 ] += "FOREIGN KEY (pcia_id) REFERENCES provincia (pcia_id), "
aQuery[ 5 ] += "ON DELETE NO ACTION, "
aQuery[ 5 ] += "ON UPDATE CASCADE) ENGINE = InnoDB"
*-----------------------------------------------------------------
//clientes
cQuery = "CREATE TABLE clientes("
cQuery += "id INT NOT NULL AUTO_INCREMENT, "
cQuery += "nombre VARCHAR(100) NOT NULL, "
cQuery += "direccion VARCHAR(50), "
cQuery += "loc_id INT, "
cQuery += "saldo DECIMAL(15), "
cQuery += "PRIMARY KEY (id) INDEX (loc_id), "
cQuery += "FOREIGN KEY (loc_id) REFERENCES localidad (loc_id), "
cQuery += "ON DELETE NO ACTION, "
cQuery += "ON UPDATE CASCADE) ENGINE = InnoDB"
*-----------------------------------------------------------------
//we dont need transaction here
oServer:MultiQuery( aQuery, .F., {| nIdx | Qout( "Query " + StrZero( nIdx, 2 ) + " OK" ) } )
oServer:Execute( cQuery )
*-----------------------------------------------------------------
RETURN