Я кодер ObjectiveC, пытающийся написать приложение Windows 10, Я застрял в попытке запросить существующую базу данных, чтобы начать работу Мне просто нужно вытащить все имена в столбце «RM_N» из table "storeNames" из dB "fieldnames.sql" и заполнить ComboBox, я хотел бы использовать строку Query, потому что я буду переходить к более сложному запросу.C# Ошибка цикла SQLite
Я думаю, что я неправильно где-то с петлей, я получаю сообщение
«Дополнительная информация: Значение не попадает в ожидаемый диапазон.»
с стрелкой, указывающей на rmNamePick.ItemsSource = имена;
private class storeNames
{
public string RM_N { get; set; }
}
private void loadRMnames()
{
string fileName = "fieldnames.sql";
string _path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, fileName);
if (_path != null)
{
using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), _path))
{
var regionNames = conn.Query<storeNames>(@"SELECT RM_N FROM storeNames;");
foreach (var names in regionNames)
{
if (names == null)
{
rmNamePick.ItemsSource = @"No Data";
}
else
{
rmNamePick.Items.Clear();
rmNamePick.ItemsSource = names;
}
}
}
}
}
На минуту вы передаете 'names' который является экземпляром' 'storeNames' к rmNamePick.ItemsSource': если вы хотите, чтобы передать фактическое строковое значение, передать в 'names.RM_N' – stuartd
Спасибо за быстрый ответ, я изменил rmNamePick.ItemSource = name.RM_N; но все равно получите эту ошибку «Исключение типа« System.ArgumentException »произошло в VAPRA.exe, но не было обработано в коде пользователя Дополнительная информация: Значение не входит в ожидаемый диапазон». –
Я также замечаю, что вы устанавливаете 'rmNamePick.ItemsSource' на каждой итерации цикла, т. Е. Вы переписываете его для каждого storeName: это выглядит неправильно, не хотите ли вы добавить _all_ значения в Это? – stuartd