Ejemplo n.º 1
0
        private DataTable CreateReportTable(ParadoxDataReader rdr, string viewName, DataSet ds)
        {
            DataTable reportTable = new DataTable("Report");

            for (int i = 0; i < rdr.FieldCount; i++)
            {
                reportTable.Columns.Add(rdr.FieldNames[i], rdr.GetFieldType(i));
            }
            ds.Tables.Add(reportTable);

            return(reportTable);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            var dbPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "data");

            Console.WriteLine("Test 1: sequential read first 10 records from start");
            Console.WriteLine("==========================================================");
            var table    = new ParadoxTable(dbPath, "zakazky");
            var recIndex = 1;

            foreach (var rec in table.Enumerate())
            {
                Console.WriteLine("Record #{0}", recIndex++);
                for (int i = 0; i < table.FieldCount; i++)
                {
                    Console.WriteLine("    {0} = {1}", table.FieldNames[i], rec.DataValues[i]);
                }
                if (recIndex > 10)
                {
                    break;
                }
            }
            Console.WriteLine("-- press [enter] to continue --");
            Console.ReadKey();
            Console.Clear();

            Console.WriteLine("Test 2: read 10 records by index (key range: 1750 -> 1760)");
            Console.WriteLine("==========================================================");

            var index     = new ParadoxPrimaryKey(table, Path.Combine(dbPath, "zakazky.PX"));
            var condition =
                new ParadoxCondition.LogicalAnd(
                    new ParadoxCondition.Compare(ParadoxCompareOperator.GreaterOrEqual, 1750, 0, 0),
                    new ParadoxCondition.Compare(ParadoxCompareOperator.LessOrEqual, 1760, 0, 0));
            var qry = index.Enumerate(condition);
            var rdr = new ParadoxDataReader(table, qry);

            recIndex = 1;
            while (rdr.Read())
            {
                Console.WriteLine("Record #{0}", recIndex++);
                for (int i = 0; i < rdr.FieldCount; i++)
                {
                    Console.WriteLine("    {0} = {1}", rdr.GetName(i), rdr[i]);
                }
            }
            Console.WriteLine("-- press [enter] to continue --");
            Console.ReadKey();
        }
Ejemplo n.º 3
0
        private void DataExchange(string tableName)
        {
            DataTable         table  = _dataSet.Tables[tableName];
            ParadoxDataReader reader = _pdxConnection.ExecuteQuery(tableName, new RecordQuery.NullCondtion());

            while (reader.Read())
            {
                DataRow row = table.NewRow();
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    row[i] = reader[i];
                }
                // todo 添加数据行前,判断数据是否存在
                if (!IsRowExisted(row, table))
                {
                    table.Rows.Add(row);
                }
            }
        }