#c# #.net #sqlite
#c# #.net #sqlite
Вопрос:
Я создаю инструмент для считывания данных TeamSpeak-клиентов.
Существует файл с именем settings.db, я знаю, как его прочитать, но не правильно.
Вот изображение файла базы данных:
Я хочу определить строки, подобные:
string last_server = reader["LastUsedServer"];
string last_username = reader["LastUsedServerNickName"];
и т.д…
Проблема в том, что я получаю только первое значение, и если попробовать это:
aio_ts_console.Text = reader["LastUsedServer"].ToString();
я получаю эту ошибку:
Переведено: «Индекс находился за пределами диапазона массива»
Я пробовал это снова и снова (с 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();