Есть код. Он должен выводить все записи по SQL-запросу, а выводится только первая запись. Как это исправить?

Есть вот такой вот код:

if (message.Contains("*"))
{
    SqliteConnection connect = new SqliteConnection("Data source = accounts.db");
    connect.Open();
    SqliteCommand command = new SqliteCommand(message, connect);
    SqliteDataReader reader = command.ExecuteReader();

    List<string[]> data = new List<string[]>();
    while (reader.Read()) 
    {
        var buf = new string[reader.FieldCount];

        for (var i = 0; i < buf.Length; i++)
            buf[i] = reader.GetString(i);

        data.Add(buf);

        string serialized = JsonConvert.SerializeObject(data);

        byte[] tabliza = Encoding.UTF8.GetBytes(serialized);
        if (stream.CanWrite)
        {
            stream.Write(tabliza, 0, tabliza.Length);
            stream.Flush();
        }
    }
}

Это код сервера, который я пробовал писать. Сервер получает SQL-запрос и проверяет его, если в запросе есть *, то выполняется следующий код, здесь из базы данных вытаскиваются данные, данные проходят процесс сериализации, далее конвертируются в массив байт и отправляются тому, кто отправил запрос. Проблема заключается в том,что на запрос, результатом которого должно быть несколько записей выводится только одна запись. Для наглядности вот конкретный пример: Вот запрос:

$"SELECT * FROM PaymentHistory WHERE Otpravitel = 'qwer' OR Poluchatel = 'qwer'";

Вот таблица из базы данных, с которой ведется работа:

введите сюда описание изображения

Проанализировав данную таблицу, можно сделать вывод, что по приведенному запросу из 11 записей подойдет 10, но на деле выводится только первая запись и все.

введите сюда описание изображения

С чем это может быть связано и как это исправить?


Ответы (0 шт):