Uso del maskedit
Alguien puede decirme porque los maskedit modificados no me guardan los datos en la base de datos de SQL 2000 server. Tengo varios maskedit con el formato de la cedula de mi pais, es decir, 000-0000000-0, pero cuando guardo los cambios en el cliente me lo guarda todo menos los datos introducidos en dichos maskedit. Alguien me dijo q utilizará 3 edit normales y que los concatene con guiones, de esta forma funciona, pero siento q no es la correcta. Agradeceria toda la ayuda posible por que es para mi proyecto de monografico y solo falta unos dias para la entrega. :confused:
|
Hola
Bienvenido al club. Lo que creo es que el tipo de campo no debe ser el adecuado. Que tipo de campo usas?. Para mi debería de ser texto, por el tipo de formato. Saludos |
no existen dbmaskedit
Gracias por la bienvenida y gracias por la ayuda:). Disculpa la pregunta, esta mal formulada, ya hable con mi compañera de monografico y me aclaro que el problema se debe a que no existe un maskedit para trabajar con base de datos, es decir, no existe otro maskedit aparte del que hay en la paleta de componentes Additional, o por lo menos ninguno en nuestros conocimientos. Este maskedit no nos permite conectarlo a la base de datos porque no tiene ninguna opcion para hacerlo. Disculpen tantas preguntas sencillas, tenemos poco tiempo programando en delphi y tenemos q terminar nuestro proyecto del monografico ya. Si alguien tiene una idea de como realizar una bitacora le estaria eternamente agradecido si me llegase a pasar esa informacion. :p
|
Hola
No entiendo esto de que el maskedit no se puede conectar a la base de datos, quien dice que no se puede extraer la informacion en un maskedit?. Perdona pero me he quedado con la duda. Por que asi: Es una de las muchas maneras de que en un maskedit pueda ver el dato de la base de datos. Por supuesto como indique antes, depende del dato que contenga el campo, simplemente se cambia el concepto, pero de que se puede se puede. Eso y mas, es delphi, no Visual Basic. Saludos |
El componente DBEdit de la paleta Data Controls, es derivado de un MaskEdit. Lo que sucede es que este componente toma la máscara que hayas colocado en el campo de la base de datos, no se la puedes asignar directamente. Entonces, lo que debes hacer es tomar un Dataset, por ejemplo, una tabla o un Query y desde el diseñador abrir la lista de campos persistentes (haciendo doble clic sobre el Dataset te muestra la lista de campos). Agrega y después selecciona el campo en cuestión, en seguida busca la propiedad EditMask y coloca la máscara tal y como lo haces en un MaskEdit.
Saludos |
Maskedit resuelto
Hey! Muchas gracias a ambos, tenian razon, se puede resolver d ambas formas!!! :) Aunque la solucion de Hector es la mas correcta.
|
Hola
Por algo es un maestro, yo apenas soy novato. Saludos |
Como activar DBGrid?
Tengo una duda, tenemos un dbgrid asociado a nuestra base de datos, todo funciona bien, ya probamos los controles de grabar, modificar, etc. El problema resulta q cuando accesamos al la pantalla q contiene el dbgrib, este no muestra la informacion q contiene nuestra tabla de la base de datos, solo hasta q hayamos introducido o modificado algun registro es q muestra el contenido de los demas registros en el dbgrid. Llegué a pensar q era con el evento onshow del dbgrid, pero no tiene ninguno. Agradesco de antemano toda la ayuda brindada. Si vienen algun dia a mi pais, no duden en contactarse conmigo. :)
|
Hola
Un dbgrid, simplemente es un elemento donde se muestra lo que hay en una base de datos, sean una o varias tablas. Para que se muestren los datos, la tabla o en query tienen que estar abiertos. Es muy simple: Donde abres la tabla?. Que componentes usas?. Que base de datos usas? Estos datos no son relevantes, pero ayuda a analizar conceptos. Saludos |
dggrid
pues la tabla la abro con un adoquery el cual los ponemos en un datamodule donde tambien esta el datasource. Dicho sea de paso usamos la conexion ado, El dbgrid se en cuentra en un form llamado estudiantes, dicho form contiene un dataset q apunta al adoquery donde esta la tabla. Todo funciona bien, solo que no trae los datos d la tabla hasta q empezamos los movimientos como ya habia dicho. :confused:
|
Hola
Ya dijiste, como dices tu, antes, que no se muestran los movimientos hasta que empiezan los movimientos, eso ya lo vi. Pero: La pregunta no fue contestada: En que procedimiento, evento, lugar, abres la tabla, en este caso el query.? Para mi es muy sencillo, sin ver el programa podria decir que lo abre en el formcreate. Me equivoco?. Saludos Edito: Me parece que si no coloca la informacion en el dbgrid hasta que se actualiza, es por que ahi es donde se abre al tabla. Simplemente se puede abrir en otro evento. |
Pues no realmente, el evento se presenta al elegir una opcion del menu desde la forma del menu principal, por ejemplo es el codigo q llama al form 'calificaciones' (donde esta dbgrid) desde el form 'menu principal':
procedure TMenPrinc.Calificaciones1Click(Sender: TObject); begin FCalificaciones.Show; end; al entrar el form calificaciones trae el dbgrid, el cual no tiene asignado ningun tipo d evento, solo esta enlazado normalmente al datasource, pero no muestra nada de la tabla hasta q se hagan los movimientos. Por cierto, nuestra base de datos esta hecha en sql. |
Hola
Empecemos por partes: Este es solo un comentario, para mi no deberia de estar asi. Si llamas al form con ese codigo quiere decir que ya fue creado, eso debe alentar el programa a la hora de iniciarse, en otras palabras lo tienes en el proyecto. Por otro lado: Si en el form que contiene el dbgrid no hay ningun codigo que traiga la informacion, como la traes:? Seguro la traes en el momento que haces los cambios. Me gustaria que colocaras aqui el codigo de ese form, asi se vera mejor la cosa. Saludos Nota: coloca el codigo con las etiquetas, asi se vera mejor |
este es el codigo de la unidad del form asignaturas, te pongo esta porque es la mas sencilla de las formas.
Cita:
|
Hola
Como soy casi adivino, lo sabia, abres la tabla en el formshow, que es casi lo mismo que el formcreate.:D:D Solucion: Coloca un nuevo boton (Actualiza). y el codigo quedaria asi: Espero lo entiendas. Saludos |
dbgrid
gracias caral, pero la solucion q propones es practicamente la misma q utilizar el boton 'nuevo' o 'modificar'. Lo q nosotros queriamos es q el dbgrid nos trajera los datos al abrir la forma sin pulsar nada, pero ni modo, agregaremos el boton 'actualizar'. Gracias por todo.:)
|
Hola
No mal entiendas, el concepto es lo que importa. No es necesario poner un boton, lo inportante es el concepto, eso lo puedes hacer en cualquier evento del form, no específicamente en un boton. Lo puse asi, para que lo captaras, no para que fuera exactamente asi. Saludos |
dbgrid solucionado
Mil gracias, ahora si entendi, funciona a las mil maravillas, no se que haria sin tu ayuda. Hey, por cierto, muy bueno el minitutorial q preparaste, gente como tu hacen falta para que el mundo sea un sitio mejor. :p
|
La franja horaria es GMT +2. Ahora son las 16:06:57. |
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