Как получить массив результатов выбора sqlite в C #? - PullRequest
0 голосов
/ 28 мая 2018

Привет. Я пытаюсь получить значения, возвращаемые из sqlite, но в настоящее время у меня возникают проблемы с получением целого массива списка.

это то, что я сделал до сих пор:

private IDataReader _reader = null;
public void DB_Load_test ( )
{
    _connection = new SqliteConnection ( _sqlDBLocation );
    _command = _connection.CreateCommand ( );
    _connection.Open ( );
    _command.CommandText = "SELECT * FROM some_table"; 

    _reader = _command.ExecuteReader ( );

}

_reader часть возвращает значения из столбцов все в порядке, используя метод _reader.GetValue ().но как я могу изменить строки?так можно прочитать только первую строку ...

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Вам нужно прочитать все значения из SQlDataReader , которые вы получили от ExecuteReader reader. Здесь я создал пример класса, чтобы привести пример.

Определение класса:

public class Sample
{
    public string val1{ get; set; }
    public int val2 { get; set; }
    //Add other fields for data as per ur database

    public Sample(string val1,int val2 )//add further members in constructor
    {
       this.val1 = val1;
       this.val2 = val2;
    }

}


Sample[] allRecords = null;
List<Sample> list = new List<Sample>();
using (var reader = command.ExecuteReader())
{
    while (reader.Read())
    {
       list.Add(new Sample(reader.GetString(0), reader.GetInt32(1));
    }

    allRecords = list.ToArray();
}

Нет, вам не нужно добавлять имя переменной так же, как в базе данных, но в случае типа данных вы должны

0 голосов
/ 28 мая 2018

Используйте метод чтения для перебора строк.

while (_reader.Read())
{
     Console.WriteLine(String.Format("{0}", reader[0]));                
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...