Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-12-2005
amesoft amesoft is offline
Registrado
 
Registrado: feb 2005
Posts: 8
Poder: 0
amesoft Va por buen camino
Question 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.
Responder Con Cita
  #2  
Antiguo 23-12-2005
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
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
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #3  
Antiguo 23-12-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #4  
Antiguo 23-12-2005
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
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
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #5  
Antiguo 23-12-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 23-12-2005
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 21
Paoti Va por buen camino
Persistencia

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



Gracias por tu aportación....



NaCl-U2
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:54:36.


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
Copyright 1996-2007 Club Delphi