FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Campos Decimals en un Grid
hola compañeros,.. tengo el un problema con un grid y una tabla de firebird , el problema es que: tengo una tabla con varios campos de tipo decimal , esta tabla la conecto a un grid , bueno el problema es que me en los campos decimals me muestra : (Bytes),, a que de debe esto ? , como puedo hacer para q no me muestre eso , y aprobechando el hilo, tengo un campo autoincremental que no me lo reconoce el delphi, que sera?
|
#2
|
||||
|
||||
Hola look,
¿Podrías explicarnos el tema de (0: bytes)? ¿Te aparece ese texto? Por favor si nos puedes aportar detalles del caso sería mejor: 1. Versión de Firebird 2. Componentes que usas 3. Código Y por cierto, Firebird no cuenta con el tipo incremental. ¿Podrías explicar este punto? Saludos, |
#3
|
||||
|
||||
Cita:
edito: firebird2.0 http://img99.imageshack.us/my.php?image=imagetx5.jpg |
#4
|
||||
|
||||
Hola Look, la verdad es que no se que puede ser...
Me parece algo raro, ¿Realmente usas DBE? ¿Algún otro componente? ¿Instalaste y/o deisntalaste algo? Decimal ¿De que tamaño, y que precisión? De por si, te aconsejaría que para Firebird, y sobre todo por la versión, que usaras componentes más adecuados. Estan los Zeos, MDO, IBPlus (o algo asi) entre otros... algunos son gratis, otros no. Habría que hacer pruebas... yo hasta ahora con los componentes de la Paleta Interbase, Firebird 1.5.3 y tipos Decimal no he tenido problemas. Pero a partir de la versión 2.0 Firebird ya no se puede tener total certeza de que los componentes IBX sean totalmente compatibles con ésta. Por el tema de incrementales, sería bueno que nos digas a que te refieres... ¿al uso de generadores/tiggers? Si es eso debes tener en cuenta que los generadores escapan al concepto de la transaccionalidad. Saludos, |
#5
|
||||
|
||||
Cita:
Estoy equivocado? Hace rato que no uso generadores, para que la base sea migrable a otros motores (mssql, oracle,etc) en lugar de generar la clave primaria en el motor de base de datos la genero en la aplicación y utilizo UIDs que son GUIDS pasados a textos para que ocupen menos bytes. Se sacrifican algunos bytes pero el registro creado es único en el mundo (en teoría) y permite que varias 'sucursales' se repliquen a un central facilmente. Bueno, me fui por las ramas. Contame que opinas (como extraño mi tierra, carajo). Saludos. |
#6
|
||||
|
||||
Hola paisano,
Cuado digo que escapa al concepto me refiero a que abortar el proceso no revierte al generador. Es decir, "lo hecho, hecho está". Si haces rollback no conseguirás volver a un estado anterior al generador. Hay unos cuantos hilos que tratan el tema y se proponen soluciones. Algunos asignan el valor desde el cliente, lanzando una consulta contra el generador y obtener el próximo numero para asi asignarlo... otros aplican un contra-geneador que decrementa... Solo hay que darse una escapada hacia el sub-foro de Interbase/Firebird y buscar. No soy de buenas palabras para explicarlo bien (admito que me cuesta un poquito explayarme en esto), hay un buen documento (como otros) que trata el tema de las transacciones en Firebird dando vueltas por la red, y creo que hasta está en FTP del club. No se si me explico. Saludos, |
#7
|
||||
|
||||
Cita:
Perfectamente. Vos entendiste lo que yo te dije. Saludos. |
#8
|
||||
|
||||
Pues acabo de hacer una prueba con DBE.
Yo tengo instalado el driver ODBC 2.0.0 que se encuentra disponible en el sitio Oficial (no volvi a fijarme si hay alguno más nuevo). Metí un TTable, un DataSource, un Grid, una tabla con campo Decimal... hice la conexión y puedo verlos sin problemas. ¿Será porque usas a versión 2.0 de Firebird? Prueba con la 2.1.1 que es más estable. Sería bueno que nos indiques más información puesto que me resulta raro esto. Saludos, |
#9
|
||||
|
||||
Cita:
Si puedes crea un pequeño caso de prueba y lo pruebo a ver que sucede. Danos la descripción de los campos que están molestando por favor, así te podemos ayudar mejor. Saludo. |
#10
|
||||
|
||||
Donald, lo de los UIDs suena interesante, si no te molesta nos podrias decir con que crea los UIDs?? y en donde los crea... desde la aplicación o desde la base de datos?...
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#11
|
||||
|
||||
Cita:
Pues hasta que no aparezca look, podríamos seguir adivinando. Cita:
Saludos, |
#12
|
||||
|
||||
Cita:
Si utilizas un UDF, que es basicamente una dll generado por delphi y que colocas en la carpeta de udfs de tu servidor delphi, entonces puedes crear luego un procedure en tu base que antes de insertar LLAME al codigo de la udf, genere el UID y lo asigne a tu clave primaria. Si lo haces en tu delphi (lo cual te la libertad de moverlo entre motores de base de datos el dia de mañana) simplemente le asignas el valor al campo, llamando a la función de la librería que a continuación te copio.
La definición del campo FIREBIRD sería.
Es muy importante lo del charset porque generara unos chars muy raros. P.D. Perdón por la calidad del identado, el formateador de código del foro lo destrozo, ni idea por que. Espero que te sirva. Saludos. Saludos. Última edición por donald shimoda fecha: 18-07-2008 a las 16:22:47. |
#13
|
||||
|
||||
Cita:
Cita:
Será que el moderador puede mover este post a un hilo nuevo? Saludos. |
#14
|
||||
|
||||
Yo en un principio creí que era bueno hacer una pregunta en otro hilo pero al final me pareció que complementaba algo de lo que se hablaba aquí mismo...
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#15
|
||||
|
||||
Saludos.
NO es por aguarle la fiesta a nuestro compañero donald shimoda pero este articulo es muy interesante sobre el uso de GUID como campo primario (IbExpert DataBase Performance Newsletter) Cita:
__________________
Gracias, Rolphy Reyes |
#16
|
||||
|
||||
Cita:
La diferencia es que usa mayor cantidad de digitos un GUID que un UID. Justamente la idea de usar UIDs es porque la longitud de campor requerida es MENOR que usando GUIDS, esa es la ventaja, mientras se mantienen las características de los GUIDS. 22 chars de los UIDS contra 36 de los GUIDs, no es poca cosa... Saludos. |
#17
|
||||
|
||||
Cita:
Entiendo que la diferencia es "considerable" porque son 14 caracteres menos, pero lo que veo es que aun sigue siendo Alfanumérico y no numérico del todo; que es justamente lo que incide en el rendimiento de la base de datos. Mencionas que teniendo un sistema "multi-sucursales" que se repliquen en un servidor es más fácil realizar el proceso, creo más bien que eso va a depender de tu estructura de la BD, porque si es "multi-sucursales" debes de un campo que identifique cual sucursal es la propietaria del registro, y tu clave primaria pude seguir siendo un entero. Lo que quiero explicar al final, es que no me imagino una BD con 100 tablas y todas sus claves primarias sean Varchar, cuando realices algún tipo de consulta pienso que se sembrara el servidor o tu respuesta tardara bastante. Es lo que creo!!!
__________________
Gracias, Rolphy Reyes |
#18
|
||||
|
||||
Cita:
Son datos que quiero agregar en una sucursal y que automáticamente sean validos en la BD central, se entiende? Con enteros no podes hacerlo. Cita:
Mira, hasta donde yo se (sacado de la lista firebird) los indices son mas óptimos en cuanto a respuesta proporcionalmente a cuanto mas datos diferencian los campos, es decir cuando menos se repiten los datos en la clave primaria. Por tanto una consulta combinada encontrará los datos más rápidamente cuanto mas DIFERENCIAL sea la clave. Lo único que jode es en el tamaño , si quieres buscarle un pero. Pero la verdad que en estos días, no es el primer punto a mirar en mi opinión cuando se diseña una base. Sino usemos archivos planos y listo. Saludos. |
#19
|
||||
|
||||
hola compañeros, solo es para disculparme por no haber seguido la continuidad del hilo , lastimosamente he estado enfermo y por eso no segui , bueno y ahora saldo de viaje,...
saludos.... |
#20
|
||||
|
||||
Cita:
Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
insertar registro en un grid que esta en otro grid | @-Soft | SQL | 7 | 20-02-2008 17:22:42 |
Campos calculados y el GRID | agova | OOP | 1 | 14-02-2008 19:53:04 |
la computacion grid en accion - world community grid | nightynvid | La Taberna | 0 | 04-01-2007 17:33:44 |
campos de un grid despues de un query | davidgaldo | Conexión con bases de datos | 1 | 13-11-2003 14:46:49 |
Visualización de campos MEMO en un Grid | Cabanyaler | Conexión con bases de datos | 2 | 26-08-2003 13:53:10 |
|