[Lazarus-es] Ayuda con fielddefs

Maxi maximiliano.duarte en gmail.com
Mie Mar 4 19:24:53 CET 2015


falto el link
http://wiki.freepascal.org/How_to_write_in-memory_database_applications_in_Lazarus/FPC

El día 4 de marzo de 2015, 15:24, Maxi <maximiliano.duarte en gmail.com> escribió:
> El día 4 de marzo de 2015, 14:08, Juan Perles <perlesj en gmail.com> escribió:
>> Sí, mi problema es que estoy empezando con Lazarus. Cuando te decía que no
>> sabía si era el sitio correcto de utilizar 'Required' era porque había visto
>> en el apartado 'how to write in-memory  database aplications' que allí usan
>> ese parámetro. Pero yo no quería definir una tabla virtual sino una tabla
>> real y con FieldDefs no me funcionaba el NOT NULL. Pero lo conseguí con una
>> sentencia SQL.
>> No obstante gracias por echarme una mano.
>>
>> Juan Perles
>> 628.482.007
>> Enviado desde mi iPad
>>
>> El 3/3/2015, a las 15:15, Victor Villalobos <revxfire en gmail.com> escribió:
>>
>> Lo que te hemos mencionado anteriormente es que alli no estas creando una
>> tabla solo estas agregando campos al dataset, pero esos campos serian
>> VIRTUALES, no modificarian la DB, para crear tu tabla tendrias que ejecutar
>> una sentencia SQL, como la mencionada anteriormente, luego de realizar esto
>> ya puedes agregar tus campos a tu dataset, o llamarlos mediante:
>>
>> DataSet.FieldByName('Campo').AsString :='Hola';
>>
>> Creo que tu problema es mas de programacion general en delphi.
>>
>> El 3 de marzo de 2015, 7:29, Juan Perles <perlesj en gmail.com> escribió:
>>>
>>> Víctor, perdona la tardanza en contestarte pero estuve de viaje.
>>> Lo he probado, pero me da error o no es esta la sintaxis o lo hago en el
>>> sitio equivocado.
>>> La sentencia que utilizo es la siguiente:
>>>           dataset.FieldDefs.Add ('id',ftInteger,2,Required);
>>> Me da el error: 'Identifier not found 'Required'.
>>> ¿Me podrías dar un ejemplo de crear una tabla con tan sólo un campo?
>>> Gracias por tus molestias.
>>>
>>>
>>> Juan Perles
>>> 628.482.007
>>> Enviado desde mi iPad
>>>
>>> El 23/2/2015, a las 23:40, Victor Villalobos <revxfire en gmail.com>
>>> escribió:
>>>
>>> Tambien puedes usar la propiedad "Required" del Field.
>>>
>>> El 4 de febrero de 2015, 12:48, Maxi <maximiliano.duarte en gmail.com>
>>> escribió:
>>>>
>>>> El día 3 de febrero de 2015, 19:54, Juan Perles <perlesj en gmail.com>
>>>> escribió:
>>>> > Estoy creando una tabla en "runtime" y quiero crear una columna que sea
>>>> > un entero  y que no pueda tener valores nulos. Para ello utilizo la
>>>> > siguiente sentencia:
>>>> >          FieldDefs.Add ('Numero',ftInteger,4,True)
>>>> > Me crea la columna pero no pone NOT NULL.
>>>> >
>>>> > La base de Datos que estoy utilizando es Sqlite3.
>>>> >
>>>> > He estado buscando información sobre fttype pero no he encontrado nada.
>>>> >
>>>> > Otra posibilidad que he barajado es utilizar directamente sentencias
>>>> > SQL pero tampoco he encontrado información.
>>>> >
>>>> > Cualquier ayuda será bien recibida. Muchas gracias de antemano.
>>>> >
>>>> > Juan Perles
>>>> > 628.482.007
>>>> > Enviado desde mi iPad
>>>> > _______________________________________________
>>>> > Lazarus-es mailing list
>>>> > Lazarus-es en lists.lazarus.freepascal.org
>>>> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>>>
>>>> los nulos lo manejas desde la tabla al crearla tan simple como
>>>>
>>>> CREATE TABLE [nuevatabla] (
>>>> [campo1] INTEGER  NOT NULL,
>>>> [campo2] VARCHAR(200)  NULL
>>>> )
>>>>
>>>> es un estandar SQL, por lo que se hace igual en cualquier motor.
>>>>
>>>> en lazarus usas las constraint
>>>>
>>>> http://lazarus-ccr.sourceforge.net/docs/fcl/db/tfield.customconstraint.html
>>>> Pero no por lo que dice la wiki no está implementado aun.
>>>>
>>>> --
>>>> El que pregunta aprende, y el que contesta aprende a responder.
>>>>
>>>> No a la obsolecencia programada:
>>>>
>>>> http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml
>>>>
>>>> Linux User #495070
>>>> http://domonetic.com/blog
>>>>
>>>> _______________________________________________
>>>> Lazarus-es mailing list
>>>> Lazarus-es en lists.lazarus.freepascal.org
>>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>>
>>>
>>>
>>>
>>> --
>>> Victor Villalobos
>>> Bahia Pirata
>>> Inversiones Villalobos Balzan.
>>> 0412 6882141
>>>
>>> _______________________________________________
>>> Lazarus-es mailing list
>>> Lazarus-es en lists.lazarus.freepascal.org
>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>>
>>>
>>> _______________________________________________
>>> Lazarus-es mailing list
>>> Lazarus-es en lists.lazarus.freepascal.org
>>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>>
>>
>>
>>
>> --
>> Victor Villalobos
>> Bahia Pirata
>> Inversiones Villalobos Balzan.
>> 0412 6882141
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>
> aca tenes para crear tablas en memoria y como pasarlas a reales.
>
> Pero tu pregunta se resuelve como te explique en principio. Creando la
> tabla desde tu aplicacion ejecutando la sentencia SQL.
> Las restricciones las pones en la base y te las toma automaticamente.
>
> --
> El que pregunta aprende, y el que contesta aprende a responder.
>
> No a la obsolecencia programada:
> http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml
>
> Linux User #495070
> http://domonetic.com/blog



-- 
El que pregunta aprende, y el que contesta aprende a responder.

No a la obsolecencia programada:
http://www.rtve.es/noticias/20110104/productos-consumo-duran-cada-vez-menos/392498.shtml

Linux User #495070
http://domonetic.com/blog




More information about the Lazarus-es mailing list