[C con Clase] [Bulk] Añadir registros a tabla dbf DBaseIII desde C
ZeLion
Zelion_cracking en yahoo.es
Mie Oct 17 17:47:37 CEST 2007
Hola luis.
Bueno he estado mirando un poco el codigo y en la linea 120:
p = &c3.idcliente; <= Estas pasando un *int a *char
deberias de tenerlo en cuenta ya que puede haber una perdida de datos.
Con lo que respecta a tu pregunta yo puedo añadir datos con este codigo
// GUARDAR CAMPOS
FILE *fichero;
char buffer[1000]="datos para almacenar "; // puntero a los
datos
int bytes = 20; // Cantidad de bytes a escribir
fichero = fopen ("dbase3.dbf", "ab"); // Metodo 'ab'
if (fichero==NULL)
{
printf("\nNo se puede abrir el archivo");
return -1;
}
fwrite (buffer, 1, bytes, fichero); // duncion fwrite
para escribir en el fichero
fclose(fichero);
No se que error te dara a ti, pero si pasas el codigo de escritura en el
fichero se puede mirar.
.: ZeLion :.
>-----Mensaje original-----
>De: cconclase-bounces en listas.conclase.net [mailto:cconclase-
>bounces en listas.conclase.net] En nombre de luis
>Enviado el: miércoles, 17 de octubre de 2007 14:44
>Para: cconclase en listas.conclase.net
>Asunto: [Bulk] [C con Clase] Añadir registros a tabla dbf DBaseIII desde C
>
>Hola a todos.
>
>Tengo una tabla creada con DBF Viewer 2000 en formato DBaseIII.
>Es una tabla sencilla con 3 campos y 2 registros.
>
>Tengo el codigo hecho en lenguaje C para abrir el archivo y
>despues leer el contenido. Accedo a la cabecera y a los
>registros de los datos.
>
>Esto funciona. Pero no sé cómo hacer para añadir nuevos registros.
>
>He estado utilizando el modo de apertura "ab" y la funcion fwrite
>de diferentes maneras pero no consigo añadir o introducir nuevos
>registros.
>
>El codigo y la tabla para descargar estan aqui:
>
>http://es.geocities.com/yakooes/
>
>Muchas gracias, salu2
>_______________________________________________
>Lista de correo Cconclase Cconclase en listas.conclase.net
>http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
Más información sobre la lista de distribución Cconclase