Recabamos en el mundo online y así traerte la respuesta a tu problema, si tienes alguna inquietud deja la duda y te responderemos sin falta.
Solución:
Puede ver la estructura del archivo de datos Xbase (*.dbf) y escribir su propio código, pero yo hice la implementación y la he estado usando durante años. Aquí puedes encontrarlo en GitHub
Cómo usar la biblioteca
Hay algunos escribe métodos en un archivo llamado DbfFile.cs. Puedes usar cualquiera de ellos. Voy a explicar algunos de ellos:
El primer método de escritura
Guarda un DataTable
como DBF expediente:
static void Write(string fileName, System.Data.DataTable table, Encoding encoding)
fileName
: es la ubicación en la que desea que.dbf
guardar el archivo de salida.table
: son sus datos que ha leído de la servidor SQL o cualquier otra fuente.encoding
: la codificación que se utilizará al guardar el string datos
El segundo método de escritura
Guarda un List
en un archivo dbf.
static void Write(string fileName,
List values,
List> mapping,
List columns,
Encoding encoding)
Lea la base de datos y guarde el resultado en algún tipo de clase, luego guarde el valor de la clase en el archivo dbf usando este método. Aquí está la descripción de sus parámetros:
fileName
: el nombre del archivo dbf que se guardarávalues
: Sus datos como una Lista de objetos de tipoT
para ser guardado en un archivo dbfmapping
: una lista de funciones que le indican a este método cómo recuperar datos del tipo de clase.columns
: información de la columna dbfencoding
: la codificación del archivo dbf.
Ejemplo para el segundo método de escritura
Como el primer enfoque es sencillo, le proporciono un ejemplo del segundo método de escritura. Considere que desea guardar un List
datos en un archivo dbf. Aquí está el código
class MyClass
public int Id get;set;
public string Name get;set;
Ahora puedes guardar un List
en un archivo dbf como este:
var idColumn = DbfFieldDescriptors.GetIntegerField("Id");
var nameColumn = DbfFieldDescriptors.GetStringField("Name");
var columns = new List() idColumn, nameColumn ;
Func mapId = myClass => myClass.Id;
Func mapName = myClass => myClass.Name;
var mapping = new List>() mapId, mapName ;
List values = new List();
values.Add(new MyClass() Id = 1, Name = "name1" );
DbfFileFormat.Write(@"C:yourFile.dbf", values, mapping, columns, Encoding.ASCII);
Además, al usar esta biblioteca, puede leer archivos dbf y su código no depende de
Microsoft.Jet.OLEDB
O algo más.
disfrútala.
Calificaciones y reseñas
Puedes añadir valor a nuestra información contribuyendo tu veteranía en las crónicas.