예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }