tb = cn.Tables.Add("secciones", "Innodb") 'crear tabla secciones
tb.Fields.Add("codigo", db.Serial)
tb.Fields.Add("descripcion", db.string, 140)
tb.Fields.Add("nuevos", db.Integer)
tb.Fields.Add("totales", db.long)
tb.Fields.Add("bloqueado", db.Boolean)
tb.Fields.Add("fecha", db.Date)
tb.PrimaryKey = ["codigo"]
tb.Fields.Add("FechaW", db.date)
tb.Update
tb.Indexes.Add("codigo", "codigo", TRUE)
tb.Fields.Add("codigo", db.Serial)
tb.Fields.Add("descripcion", db.string, 140)
tb.Fields.Add("nuevos", db.Integer)
tb.Fields.Add("totales", db.long)
tb.Fields.Add("bloqueado", db.Boolean)
tb.Fields.Add("fecha", db.Date)
tb.PrimaryKey = ["codigo"]
tb.Fields.Add("FechaW", db.date)
tb.Update
tb.Indexes.Add("codigo", "codigo", TRUE)
El problema viene de que al hacer eso me crea un campo de tipo DATE que solo puede contener la fecha. El caso es que Mysql tiene los tipos de fecha DATE, TIME, DATETIME y TIMESTAMP. Resulta que al describir el campo fecha como db.date está cogiendo cualquiera de ellos. En concreto el que escoge es el tipo DATE.
Pues es que yo quiero DATETIME y no veo como decirle que ponga datetime.
Al consultar en gambasdoc me encuentro que este problema ocurre también con otros tipos. Por ejemplo si yo defino en gambas db.float eso engloba a los float, double, real, numeric, decimal. No veo como elegir cual de ellos es el que quiero. Aquí está la tabla de conversiones de campos que usa gambas
http://gambasdoc.org/help/doc/db-type-mapping
Tiene solución porque Mysql dispone del comando alter table que permite hacer el cambio, pero yo dudo que benoit dejara así un disparate de esa magnitud. Creo que hay algo en gambas que no sé como se hace.y tampoco encuentro información ¿como va a ser igual guardar la fecha que la hora por ejemplo? ¿Como va a ser igual guardar un float que un double?