FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
problema al insertar un caracter especial en tablas dbf
Hola gente:
Debido a un requerimiento de un cliente actualmente me vi en la necesidad de crear un programa interfaz entre archivos xls y tablas DBF (visualfox 9) . Este cliente me pide que meta los datos de varios archivos xls a las tablas que tiene en foxpro (sistema antiiiguo, que no tienen planificado modernizar), con el iguiente plus... algunos campos estan encriptados. Analizando el còdigo de su programador (me llevo semanas), encontre la fòrmula que uso este programador (que ya entrego el bote), que tiene horrible caracterìstica de poner como primer caracter del valor el caracter #0 (enter), bueno al principio no le di mucha importancia arme el programa y en el momento de las pruebas chas todo el trabajo arruinado, debido a que no puedo insertar ese bendito caracter (que fox raramente desde el còdigo propio si lo inserta) ya llevo varios dìas martillando el problema y no encuentro soluciòn ya que por ejemplo al querer meter el valor #0+'----' en las tablas dbf queda vacio completamente!!!! Por favor denme unas luces sobre el tema, les adelanto que el cliente no quiere cambiar de sistema, asì que la soluciòn no va por ese lado (quisiera hacerle un sistema nuevo). las caracterìsticas: delphi 7 enterprise conexion con ADO el campo en la tabla dbf es un char(2), no puedo modificarlo porque es parte de otros mòdulos intocables (contabilidad). les adjunto parte del còdigo que uso para insertar: En sìntesis la estructura del dbf es intocable, ya que no quieren cambios. Ayuda por favor!!!! Última edición por ecfisa fecha: 12-12-2014 a las 05:51:24. Razón: Agregar etiquetas [DELPHI] |
#2
|
|||
|
|||
Actualizando el problema:
Despues de machacar encontré, que el procedimiento de encriptación en fox de este programador retorna el caracter nulo en el primer caracter del string, despues de una serie de pruebas verifiqué que ese caracter (#0) es el problema, ya que los restantes caracteres si los inserta.
Por tanto el procedimiento retorna en un string de 2 dìgitos en el primer caracter #0 y continua con otro tipo de caracter. Alguien tiene idea de como meter este caracter nulo en un ¿campo? |
#3
|
||||
|
||||
Un NULL es *infeccioso*. NULL con lo que sea da NULL (que es lo que creo que pasa en vl_per[0]+vl_per[1]).
Pero el *caracter* null es un *encoding*. Al igual que "enter" y "tab" (que se identifican por un #). Por lo tanto, debes es guardar el # o el *char* que representa el null, no el valor null (null <> char o # que representa null).
__________________
El malabarista. |
#4
|
|||
|
|||
Gracias por responder.
Cita:
Que es la copia del procedimiento del programador fox (traducida claro) Como se puede ver la salida es un string el cual por ejemplo me devuelve en el debug #0'-' si intento hacer un
no me inserta en ese campo nada (aparentemente) pero creo que me inserta el null (#0) y el resto de la cadena no lo cual lògicamente al hacer el desencriptado me devuelve valores incorrectos. En el ejemplo #0'-' deberia devolverme al desencriptar 175 y me devuelve 8565. probe con otros valores y solo tengo ese problema cuando el encriptador me retorna el #0 primero. La verdad no se como hacer lo que indicas, si es que me puedes dar un ejemplo por favor te lo agradeceria. Última edición por Casimiro Notevi fecha: 18-12-2014 a las 18:47:37. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
problema al insertar datos a tablas mysql | elmago00 | PHP | 5 | 20-05-2014 21:32:41 |
Como Insertar Caracter FNC1 | toni.vi | Impresión | 3 | 01-11-2013 15:59:15 |
Insertar carácter en string | radenf | Varios | 7 | 17-09-2013 01:58:58 |
como insertar el caracter 251 | DarkBlue | Impresión | 4 | 31-10-2011 02:32:20 |
Problemas al insertar cadenas que contienen el caracter ´ | Isnel | Firebird e Interbase | 7 | 13-10-2006 17:58:12 |
|