C # Проблема с чтением одного столбца базы данных

#c# #.net #sqlite

#c# #.net #sqlite

Вопрос:

Я создаю инструмент для считывания данных TeamSpeak-клиентов.

Существует файл с именем settings.db, я знаю, как его прочитать, но не правильно.

Вот изображение файла базы данных:

settings.db

Я хочу определить строки, подобные:

 string last_server = reader["LastUsedServer"];
string last_username = reader["LastUsedServerNickName"];
  

и т.д…

Проблема в том, что я получаю только первое значение, и если попробовать это:

 aio_ts_console.Text  = reader["LastUsedServer"].ToString();
  

я получаю эту ошибку:

Мой код ошибка-Code

Переведено: «Индекс находился за пределами диапазона массива»

Я пробовал это снова и снова (с 3 часов), но я не могу решить проблему, может быть, вы, ребята, сможете мне помочь.

Спасибо

Комментарии:

1. В вашем reader нет столбца с именем LastUserServer , поэтому вы получаете ошибку. Имя столбца key соответствует вашему снимку экрана. Вам придется перебирать данные и использовать if , вероятно, для получения нужного значения. Что-то вроде этого: if (reader["key"].ToString() == "LastUserServer") aio_ts_console.Text = reader["value"].ToString();

2. Вы имеете в виду вот так? prntscr.com/n3838j

3. я нашел решение: if (reader[«ключ»]. toString() == «LastUserServer») aio_ts_console. Текст = средство чтения[2]. toString(); Спасибо

4. Это неправильное решение. Это должно быть if (reader["key"].ToString() == "LastUserServer") aio_ts_console.Text = reader["value"].ToString();