У меня есть база данных sqlite3 с несколькими таблицами.Одно из них имеет два поля: s_id и user_id, первое - целочисленное, второе - целочисленный первичный ключ.Я могу наблюдать за содержимым таблицы с помощью SQLite Data Browser, и в таблице есть две строки.
значения user_id равны 1 и 2.
значения s_id являются, однако, строками (например, «user1» и «user2»), и в браузере данных sqlite эти строки отображаются.
Я пытаюсь получить информацию, используя System.Data.SQLite и следующий код на C #:
using (SQLiteConnection connection = new SQLiteConnection(string.Format(@"Data Source={0};Legacy Format=True;", path)))
{
connection.Open();
using (SQLiteCommand command = new SQLiteCommand("SELECT * FROM users", connection))
{
using (SQLiteDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
string user = reader["s_id"].ToString();
}
}
}
}
Я искал в Интернете и обнаружил, что sqlite может хранить строковые данные в полях int.Но я не могу прочитать эти строки с помощью C #.Результат всегда "0".Даже если я разверну читателя в Watch, пока не смогу видеть объекты, значение там тоже равно 0.(Второй объект, соответствующий user_id, имеет значение, как и положено, 1 или 2).
Знаете ли вы, как можно получить это строковое значение в целочисленном поле в C #?
Спасибо.