Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Tipo Integer a Tipo Money (https://www.clubdelphi.com/foros/showthread.php?t=28553)

amesoft 22-12-2005 23:46:04

Tipo Integer a Tipo Money
 
Tengo una variable en Sql Server que es actualmente Integer. Es posible cambiarla a money sin que Delphi lo impida ? En Sql no hay problema.
Pero al intentar reactivar el conector ADO de la tabla en el DataModule, saca el error 'Type mismatch for field ....... expecting: Integer actual: BCD.'
Qué puedo hacer ? GRACIAS !!!!!!!!!!! POR ALGUNA SOLUCION.

Paoti 23-12-2005 00:41:57

campos persistentes
 
Hola, esto se soluciona fácil... jejeje, bueno no se que tan fácil sea pero es así...



lo que pasa que en tus datasets (Tables, Dataset, Querys) al darle click con el boton derecho sobre ellos, en el menu contextual aparece.. fields editor, en la ventana que se abre te muestra los campos de tu tabla.

Lo que tienes que hacer es:
Borrar esos campos "persistentes" y en esa ventana darle clic derecho y clic en la opción "Add All Fields...", para que te vuelva a cargar los campos de tu tabla ya con el campo numeric convertido a Currency...



Es fácil hacer eso, pero se complica si usas muchas veces ese campo en varios formularios, a cada datset debes hacer lo mismo...



Espero haber respondido a tu duda...



NaCl-U2

jachguate 23-12-2005 00:53:03

Adicional a lo ya dicho por Paoti, si ya tenes asociados eventos a los campos persistentes, será engorroso borrarlos y crearlos nuevamente, pues se perderán dichas asociaciones.

En casos como ese, suele ser mas conveniente cambiar el tipo de dato "a mano" de dichos campos. Para ello, hace una copia de seguridad de los archivos .pas y .dfm del formulario o módulo de datos donde está el campo, luego presionas Alt+F12 para editar el dfm como texto y buscas el campo, cambias su tipo de dato de TIntegerField a TBCDField y presionas Alt+F12 para volver de nuevo al editor de formularios. Por último haces la misma operación de reemplazo en el código fuente de la definición de la clase y listo.

Espero haberme explicado bien.

Hasta luego.

;)

Paoti 23-12-2005 01:01:14

Evitando persistencia
 
¡Hola jachguate!


En este tema, pero de forma general...


conoces alguna aplicación, de preferencia open source, que maneje la persistencia.

¿cómo explicarlo?


Es decir, que sea otra alternativa a la maravilla que es Delphi con su RAD, de Colocar objetos, propiedas. push, arrastrar, mover, poner bonito y runnnnnnnn. ya tenemos nuestra aplicación corriendo. entramos a Producción.

y?

Pues nos piden cambiar un campo numeric a currency, y tenemos que hacer todo esto.



Alguien del foro, conoce una herramienta que maneje este nivel de persistencia o más bien una metodología.


P.S. En vísperas para Febreo o Marzo una curso con AL Gonzáles al respecto.


NaCl-U2

jachguate 23-12-2005 01:20:06

De la forma en que lo planteas, creo que lo mejor es el propio delphi. Esta tarea de realizar cambios en tipos de datos debido a cambios en la estructura, incluso puede llegar a automatizarse, siempre que guardes los dfm's en formato de texto, pues como ya has visto, se limita a identificar y sustituir cadenas de texto en los dfm's y los pas.

Recuerdo haber visto algun Experto (no se si en GExperts) que ofrecía realizar estos cambios de tipos de datos sin perder asociaciones desde dentro del IDE (basandose siempre en la sustitución de cadenas).

Hablando de persistencia en general, hay algunos suites de manejo de persistencia de objetos... pero la curva de aprendizaje es mas o menos pronunciada y requiere un cambio de mentalidad. Para no ir muy lejos, delphi 2006 trae integrado un framework de manejo de persistencia (y muchas cosas mas) llamado ECO (Enterprise Core Objects), producto de Borland que ya va por la versión III.

Por el mundo Open Source, tenes la opción de usar InstantObjects.

Hasta luego.

;)

Paoti 23-12-2005 16:20:29

Persistencia
 
en efecto que es un cambio de mantalidad....



Gracias por tu aportación....



NaCl-U2


La franja horaria es GMT +2. Ahora son las 11:46:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi