FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Edicion de un DBGRID
Buenas Tardes,
Al grano, estoy elaborando una aplicacion que ejecuta consultas SQL, y las exporta en un TXT,XML, CSV o lo que sea... en DELPHI 2010 los parametros de la conexion y las consultas varian siempre en tiempo de ejecucion, por lo que no tengo columnas fijas, en los resultados del DBGRID. en algunas consultas que presento en el dbgrid, existen valores que deben ser encryptados(el nombre del valor a encryptar me es dado en un archivo de configuracion, que ya leo, llamemosle CAMPOX) un ejemplo, del DBGRID Nombre|Apellido1|Apellido2|CampoX|etc a la columna campo X, debo aplicarle la encryptacion (campo por campo de esa columna) Encryptar(CampoX:string); entiendo que esta modificacion podria hacerse Data:=DBGRID1.DataSource.DataSet; Data.First; while not(Data.eof) do begin // mi codigo end Pero en realidad, no encuentro como asignarle al campo que busco, el resultado de mi procedimiento de encryptacion... Ayuda por favor... Espero haber sido lo suficientemente claro _______________________________________________________________ la verdad e buscado ya bastante rao enla pagina y no encuentro algo que me pueda ayudar, en algun tema relacionado, si existe algo parecido y no lo he encontrado ofresco mis disculpas... gracias correo: wesbarrantes en Gmail... por cualquier consulta del codigo |
#3
|
|||
|
|||
problemas
que propiedades deben habilitarse para poder hacer esto, pues a mi me da problemas al tratar de editar... problemas en el dataset
|
#5
|
||||
|
||||
problemas
el mensaje que envia es:
Project XXX.exe raised exception class EDBClient with message 'Field Value Required' pero solo genera este error dependiendo de la tabla a la que me conecto... dentro de una misma base de datos no me da problemas con unas tablas, pero con otras si... el detalle es que los tipos de campo de las tablas es identico... y se supone tengo full acceso a toda la base de datos... |
#6
|
||||
|
||||
problemas al editar DBGRID,Field Value Required
Buenas...
tengo el siguiente codigo
el codigo anterior encripta una columna por medio de un metodo llamado EncryptParameter, y gurada el resultado en un archivo de texto 'C:\pruebawes.txt' , pero tengo un gran problema a la hora de encryptar el valor en el dataset, ya lo he probado con diferentes tablas, y me funciona a la perfeccion con tablas que yo creo, aun cuando la base de datos no haya sido creada por mi... crei que podi tratarse de problemas de acceso de seguridad a la base de datos, pero dentro de una misma base de datos y con la misma conexion, me funciona sobre algunastablas,pero sobre otras no... el mensaje que envia es: Project XXX.exe raised exception class EDBClient with message 'Field Value Required' me resulta bastante extra;o pues funciona con algunas tablas y con otras NO, dentro de una misma Base de Datos, con iguales tipos de datos... si alguien pudiese darme una pista de lo que ocurre... le agradesco... |
#7
|
|||
|
|||
Hola...
Y ese error ¿exáctamente sobre que línea se produce? ¿Estás seguro que las tablas siempre tienen valores en sus campos? Saludos... |
#8
|
||||
|
||||
Wbarrantes, he pegado los dos hilos que abriste para lo mismo. Porfavor, no abras más de un tema para lo mismo.
En cuanto a tu pregunta, el problema no parece estar en los campos encriptados sino en algún otro campo de tu tabla que necesita ser asignado un valor y no le estás dando ninguno. // Saludos |
#9
|
||||
|
||||
disculpa
ok, Disculpa por haber abierto el otro hilo... te agradesco la correccion...
Cita:
Cita:
existe alguna otra forma de editar el datasource? digo algo asi como : 1.cargar la consulta de la base de datos, 2.desligarme por completo de la base de datos, pues no voy a actualizar ni modificar ningun campo de la misma, solo quiero modificar la informacion para su presentacion al usuario, no modificar la tabla... (de echo si pudiese convertir todo el data set a valor string o varchars,,, perfecto, pues debo encriptar cualquier valor, sin importar su tipo) 3. ejecuto mis procedimientos para recorrer el dataset y guardar lo que deseo... |
#10
|
||||
|
||||
Una Luz
Cita:
me explico... si lo aplico sobre la tabla persona: Nombre|Apellido1|Apellido2 wes123|ASDFEER|WESDSD WAGNE|ASDAS|ADSDAd funciona correctamente pero si modifico el contenido de la tabla a: Nombre|Apellido1|Apellido2 wes123| |WESDSD WAGNE|ASDAS|ADSDAd (dejo en blanco el apellido1 de wes123) Ya no sirve alguna sugerencia para resolver? |
#11
|
||||
|
||||
Bueno ,viendo el problema de Wbarrantes veo que la cosa se ha complicado demasiado de lo que parece. Si lo que se desea es encriptar el contenido de una columna en un DBGrid, pues yo veo dos alternativas:
1ra.- Hacerlo directamente en el SERVER Tener una funcion o hacer uso de una funcion encriptadora directamente en la consulta SQL en el server es decir mi consulta SQL podría ser así: Con eso me evito la tarea de hacerlo desde Delphi. 2da.- Haciendolo desde Delphi Desde Delphi lo que se podría hacer es utilizar el evento OnGetText que todo Campo Persistente tiene y poner un código sencillo como éste: Desde luego para hacer uso del evento OnGetText lo primero que tendriamos que hacer es agregar nuestro campo en cuestion(CampoX) como campo persistente en el Dataset(Query o Table) que trae los datos de la base de dato.. Ésta solucion evitará estar modificando los datos en la base de datos, ya que como te han mencionado anteriormente si pones al Dataset en estado de Edicion (Data.Edit; ) se corre el riesgo de modificar los datos en la base de dato, y lo que yo veo es que solo se necesita mostrar los datos encriptado , pero que en la base de datos queden intactos , es decir que no se modifiquen.. Espero que te sea de ayuda. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Última edición por rgstuamigo fecha: 04-10-2010 a las 22:07:16. |
#12
|
||||
|
||||
Cita:
1.el script a ejecutar 1.1 con el nombre de la conexion que utilizara 1.2 con el nombre del path donde se guardara 1.3 el campo que se desea encryptar 2. Laconexion a utilizar 3. el tipo de archivo en que se guardara la informacion del scrip (elformato,el separador,etc) osea se ejecutan varios scripts en tiempo de ejecucion, cada cual se conecta con el usuario,pass,y la tabla que se desea, y guarda el resultado segun el propio XML lo establesca para cada caso por lo tanto no existe un campo persistente al caul pueda asignarle el evento OnGetText... el metodo de encriptar, me es dado por un provedor, por lo que solo puedo hacer referencia al mismo enviando un string, y reciviendo el string encriptado....No puedo encriptar a nivel de base de Datos... que puedo hacer? Gracias a todos por sus comentarios... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error de Edicion con DBGrid | chipcrazy | Varios | 1 | 06-11-2008 12:40:51 |
Edición de un DBGRID | luxus | Conexión con bases de datos | 1 | 13-02-2007 11:34:26 |
DBGrid. Contenido de celda en edicion | ManelC | Varios | 2 | 06-07-2006 23:01:18 |
Edicion DBGrid | Caro | Conexión con bases de datos | 2 | 09-06-2006 18:02:26 |
DBGRID detectar fin de edicion de campo | andrestsas | Tablas planas | 2 | 12-08-2003 17:11:02 |
|