void IFileConverter.Export(System.Data.DataSet ds, string filename) { if (ds == null || ds.Tables.Count == 0) { throw new ArgumentNullException("ds"); } switch (Options.ExportEngine) { case DBFEngine.OLEDB: throw new NotImplementedException("OLEDB currently does not support Export"); case DBFEngine.DBF4: { var dbf = new dBase4(); dbf.ImportDataTable(ds.Tables[0]); dbf.SaveFile(filename); /* * foreach (DataTable dt in ds.Tables) * { * dbf.ImportDataTable(dt); * dbf.SaveFile(filename); * break; * } * */ break; } default: throw new ArgumentOutOfRangeException("ExportEngine=" + Options.ExportEngine); } }
System.Data.DataSet IFileConverter.Import(string filename) { switch (Options.ImportEngine) { case DBFEngine.OLEDB: { string connectionString = ConnectionStringManager.MakeDBF(filename, true); string tablename = Path.GetFileNameWithoutExtension(filename); return(Common.OleDbTables(connectionString, tablename, QueryFilter.Exact)); } case DBFEngine.DBF4: { var dbf = new dBase4(Options); dbf.OpenFile(filename); return(DataUtil.ToDataSet(dbf.DataTable)); } default: throw new ArgumentOutOfRangeException("ImportEngine=" + Options.ImportEngine); } }