Creacion de tabla MySQL desde Xailer
Publicado: Vie Jul 25, 2008 7:10 pm
Hola todos:
Estoy haciendo un proyecto de exploración con las principales
características contenidas en las clases TMySQLDataSource, TSQLTable,
TSQLQuery y TDBMaskEdit, por ello les pido su ayuda para aclarar las
dudas que se presenten en esto y que por favor me tengan paciencia pues
quizás estaré dándoles mucha lata.
UNO) Al tratar de indagar sobre la existencia de una tabla por medio del
método File de la clase TMySQLDataSource, dicho método devuelve NULL ya
sea que exista o no la tabla, debiendo en cambio retornar un valor lógico:
::oMySQLDataSource1:File( "catalogo" ) Siempre retorna NULL
DOS) Al tratar de crear una nueva tabla desde Xailer por medio del
método CreateTable de la clase TMySQLDataSource y con el correspondiente
array de estructura al estilo xHarbour incluyendo un asterisco para
señalar la característica de clave primaria:
aStruct := { { "uno" , "C*", 25, 0 }, ; Nótese el asterisco
{ "dos" , "C" , 10, 0 }, ;
{ "tres" , "N" , 11, 2 },;
{ "tresb" , "N" , 10, 0 }, ;
{ "cuatro", "D" , 8, 0 }, ;
{ "cinco" , "M" , 10, 0 }, ;
{ "seis" , "L" , 1, 0 } }
::oMySQLDataSource1:CreateTable( "catalogo", aStruct )
Me da el siguiente error (solo se presenta si pongo el asterisco en el
field-type del campo uno o en el de cualquier otro):
***************************** Registro de errores
*****************************
Exe: C:Curso MySQLMySQL.exe
Version: 1.0.0.0
Fecha: 25/07/2008
Hora: 11:35:08
Memoria libre: 1690228
Area actual: 1
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 1.9.6 Version 1.9
Compilador: xHarbour build 1.0.0 Intl. (SimpLex) PCode Version: 9
Compilador C/C++: Borland C++ 5.8.0
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: MySQL
Código de error: -1
Estado: .T.
Descripción: You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '[uno]) )' at line 1
Operación: TMYSQLDATASOURCE:CREATETABLE
Argumentos: [ 1] = Tipo: C Valor: CREATE TABLE catalogo( uno
VARCHAR(25), dos VARCHAR(10), tres DOUBLE(11,2), tresb DOUBLE(10,0),
cuatro DATE, cinco MEDIUMTEXT, seis BOOLEAN, PRIMARY KEY ([uno]) )
Fichero:
Código error SO: 0
Pila de llamadas:
TMYSQLDATASOURCE:CREATETABLE (222)
TFORM1:BUTTON7CLICK (491)
TBUTTON:ONCLICK (0)
TBUTTON:CLICK (99)
(b)XCONTROL:XCONTROL (145)
TBUTTON:COMMAND (0)
TSCROLLINGWINCONTROL:WMCOMMAND (255)
TFORM1:WMCOMMAND (889)
RUNFORM (0)
TAPPLICATION:RUN (209)
MAIN (17)
Estoy haciendo un proyecto de exploración con las principales
características contenidas en las clases TMySQLDataSource, TSQLTable,
TSQLQuery y TDBMaskEdit, por ello les pido su ayuda para aclarar las
dudas que se presenten en esto y que por favor me tengan paciencia pues
quizás estaré dándoles mucha lata.
UNO) Al tratar de indagar sobre la existencia de una tabla por medio del
método File de la clase TMySQLDataSource, dicho método devuelve NULL ya
sea que exista o no la tabla, debiendo en cambio retornar un valor lógico:
::oMySQLDataSource1:File( "catalogo" ) Siempre retorna NULL
DOS) Al tratar de crear una nueva tabla desde Xailer por medio del
método CreateTable de la clase TMySQLDataSource y con el correspondiente
array de estructura al estilo xHarbour incluyendo un asterisco para
señalar la característica de clave primaria:
aStruct := { { "uno" , "C*", 25, 0 }, ; Nótese el asterisco
{ "dos" , "C" , 10, 0 }, ;
{ "tres" , "N" , 11, 2 },;
{ "tresb" , "N" , 10, 0 }, ;
{ "cuatro", "D" , 8, 0 }, ;
{ "cinco" , "M" , 10, 0 }, ;
{ "seis" , "L" , 1, 0 } }
::oMySQLDataSource1:CreateTable( "catalogo", aStruct )
Me da el siguiente error (solo se presenta si pongo el asterisco en el
field-type del campo uno o en el de cualquier otro):
***************************** Registro de errores
*****************************
Exe: C:Curso MySQLMySQL.exe
Version: 1.0.0.0
Fecha: 25/07/2008
Hora: 11:35:08
Memoria libre: 1690228
Area actual: 1
------------------------- Información del compilador
--------------------------
Versión Xailer: Xailer 1.9.6 Version 1.9
Compilador: xHarbour build 1.0.0 Intl. (SimpLex) PCode Version: 9
Compilador C/C++: Borland C++ 5.8.0
Plataforma: Windows XP Professional 5.01.2600 Service Pack 2
----------------------- Información detallada del error
-----------------------
Subsistema: MySQL
Código de error: -1
Estado: .T.
Descripción: You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near '[uno]) )' at line 1
Operación: TMYSQLDATASOURCE:CREATETABLE
Argumentos: [ 1] = Tipo: C Valor: CREATE TABLE catalogo( uno
VARCHAR(25), dos VARCHAR(10), tres DOUBLE(11,2), tresb DOUBLE(10,0),
cuatro DATE, cinco MEDIUMTEXT, seis BOOLEAN, PRIMARY KEY ([uno]) )
Fichero:
Código error SO: 0
Pila de llamadas:
TMYSQLDATASOURCE:CREATETABLE (222)
TFORM1:BUTTON7CLICK (491)
TBUTTON:ONCLICK (0)
TBUTTON:CLICK (99)
(b)XCONTROL:XCONTROL (145)
TBUTTON:COMMAND (0)
TSCROLLINGWINCONTROL:WMCOMMAND (255)
TFORM1:WMCOMMAND (889)
RUNFORM (0)
TAPPLICATION:RUN (209)
MAIN (17)