[Lazarus-es] Ayuda con fielddefs

Juan Perles perlesj en gmail.com
Jue Mar 5 11:12:55 CET 2015


Gracias, Maxi, así lo hice y me funcionó perfectamente, como os comenté mi problema no era el SQL sino no saber como hacerle llegar la sentencia a Lazarus, ya que yo no creía que era por medio del Query ya que asociaba a éste con sólo consultas.
Mi último correo era en respuesta a Víctor.
Gracias otra vez por no dejar a los neófitos en un mar de dudas.

Juan Perles
628.482.007
Enviado desde mi iPad

> El 4/3/2015, a las 19: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
> 
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es




More information about the Lazarus-es mailing list