Barkoff написал(а):
-------------------------------------------------------
> Здравствуйте! Подскажите, пожалуйста, почему
> результаты поиска содержат не более 256 записей?
Покажите код, в котором это происходит.
Следующий код для ManagedIrbis 1.6.5.1154 и сервера 2016.1 возвращает 479 записей:
using (IrbisConnection connection = new IrbisConnection(connectionString))
{
MarcRecord[] records = connection.SearchRead
(
"\"K={0}\"",
"бег"
);
Console.WriteLine(records.Length);
}
Поэтому надо понять, чем Ваша ситуация отличается от моей.
> Как получить список задолжников? (Читателей, на
> руках у которых есть книги, дата предполагаемого
> возврата которых уже наступила)
Примерно так:
using System;
using System.Diagnostics;
using ManagedIrbis;
using ManagedIrbis.Readers;
class Program
{
static void Main()
{
const string connectionString = "host=127.0.0.1;port=6666;user=1;password=1;";
using (IrbisConnection connection = new IrbisConnection(connectionString))
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
DebtorManager manager = new DebtorManager(connection)
{
ToDate = DateTime.Today.AddDays(-1.0)
};
manager.BatchRead += (sender, args) => Console.Write(".");
DebtorInfo[] allDebtors = manager.GetDebtors();
Console.WriteLine();
foreach (DebtorInfo debtor in allDebtors)
{
Console.WriteLine
(
"Задолжник: {0}, должен {1} книг",
debtor.Name,
debtor.Debt.Length
);
}
stopwatch.Stop();
Console.WriteLine("Заняло времени: {0}", stopwatch.Elapsed);
}
}
}
Для нашей базы данных RDR (около 50 тыс. записей) процесс занимает примерно 70 секунд.