Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
.NET 4.x

Записать результат запроса к БД SQLite в массив

23.10.2014, 20:28. Показов 5564. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Я разрабатываю приложение на Windows 8. К сожалению, очень мало документации в инетернете пока, не могла найти ответ на мой вопрос.

Вкратце, я работаю с базами данных. Подключила библиотеку SQLite, создала базу данных и таблицы НЕ на основе классов,а на основе запросов (SQLiteCommand("Create Table...."))...

Вопрос: Как мне результат запроса,созданного с помощью SQLiteCommand("Select col1 from......").ExecuteNonQuery() записать в массив,скажем, или в ItemSource для ListView.

Заранее благодарю!


P.S.: буду рада ссылкам и книгам по теме SQLite для Windows Apps Store
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2014, 20:28
Ответы с готовыми решениями:

Можно ли результат запроса записать в переменную или массив
При создание sqlcommand я выполняю запрос. Возникает вопрос как использовать результат запроса, могу ли я записать результат в переменную...

Записать в переменную результат запроса
Подскажите, как записать результат запроса в массив. Запрос ниже возвращает 15 записей типа текст. Как их записать в переменную? Данный...

Записать результат запроса в переменную и вывести в TextBox
Здравствуйте, мне нужно при помощи C# послать уже созданной в Access базе данных запрос и присвоить результат переменной, чтобы потом...

27
311 / 309 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
24.10.2014, 08:55
Используйте метод ExecuteReader вместо ExecuteNonQuery. Так все становится просто, вот с примерами:
C# - C# Sqlite
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
24.10.2014, 11:48  [ТС]
Здравствуйте!
Проблема в том, что библиотека (пространство имен) SQLite для Windows 8 не поддерживает метод ExecuteReader.
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
24.10.2014, 12:03
Цитата Сообщение от JusticeAn Посмотреть сообщение
Проблема в том, что библиотека (пространство имен) SQLite для Windows 8 не поддерживает метод ExecuteReader.
Windows 8 или Windows Phone 8? Если под Windows Phone 8, то можете попробовать посмотреть эту ссылку, правда она на буржуйском языке. А под Windows 8 ExecuteReader должен быть ...
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
24.10.2014, 19:59  [ТС]
Windows 8.
Ну, вот. Нет этого метода, когда я подключаю Sqlite. Есть лишь ExecuteNonQuery, ExecuteScalar и ExecuteDeffered
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
24.10.2014, 20:03
JusticeAn, вы гуглили? Посмотрите по этой ссылке.
https://visualstudiogallery.ms... db127ddc9a
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
24.10.2014, 20:22  [ТС]
Гуглила)
У меня установленно уже расширение прямо из Visual Studio, но нет там такого метода.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
24.10.2014, 20:27
Цитата Сообщение от JusticeAn Посмотреть сообщение
там такого метода.
Сейчас я VS2013 установлю и сам посмотрю)))
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
24.10.2014, 20:30  [ТС]
У меня VS2012, но не думаю,что это влияет на что-то)
Не стоит). Вы только время зря потратите.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
24.10.2014, 20:43
Цитата Сообщение от JusticeAn Посмотреть сообщение
Вы только время зря потратите.
У меня его много, не переживайте)))
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
24.10.2014, 20:48  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
У меня его много, не переживайте)))
Цитата Сообщение от insite2012 Посмотреть сообщение
У меня его много, не переживайте)))
Ну,смотрите! Отпишитесь,пожалуйста.
0
186 / 0 / 2
Регистрация: 15.03.2015
Сообщений: 9
15.04.2015, 12:56
Привет! Тема еще актуальна? JusticeAn как решили проблему? У меня такая же ситуация
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
16.04.2015, 14:10  [ТС]
RenatSayf, здравствуйте! Если Вы разрабатываете приложение под Windows 8 и Вас интересует работа с базой данных, то ниже напишу ответ, а если Вы разрабатываете приложения для Desktop, то Вам в другую тему).

Как результат запроса вывести в ComboBox для Windows Store Apps?

Всё же на основе классов, другого способа я не нашла. Я уже опишу полное подключение,может,другим пользователям будет полезно.

1. В Visual Studio (2012/2013) меню "Сервис"->"Расширения и обновления...". Кликаем на вкладку "В интернете". В поиске пишем "sqlite winrt". Выбираем нужную библиотеку и загружаем ее.
Скрин
http://f5.s.qip.ru/qpjF8MfO.png
Необходимо будет перезапустить Visual Studio.

2. В Обозревателе решений, где каталоги Вашего проекта: Refernces (right click)-> Добавить ссылку...
Откроется окно "Менеджер ссылок". Вкладка "Windows"-> Расширения. Поставьте галочку на "SQLite for Windows RunTime"
Скрин
http://f6.s.qip.ru/qpjF8MfP.png
Ссылка появится у Вас в References

3.Создаем класс в DataModel или в App.xaml.cs, чтобы он был виден во всем приложении. Это уже на Ваше усмотрение. Пример: класс для хранения каких-то названий.
C#
1
2
3
4
5
6
7
8
9
public class names
    {
        [PrimaryKey, AutoIncrement]
        public int nameid { get; set; }
        [MaxLength(250)]
        public string namedb { get; set; }
        [MaxLength(250)]
        
    }
4. Создадим на форме ListBox/ComboBox, назовем: lb_db. Приписываем код в методе инициализации страницы приложения,если хотим,чтобы данные загружались туда сразу при переходе на страницу приложения.
C#
1
2
3
4
5
6
7
8
9
10
11
12
// подключаем библиотеку using SQLite
/*"PathLocalFolderdb" путь к папке с базой данных. Например:  public string PathLocalFolderdb = Path.Combine(ApplicationData.Current.LocalFolder.Path, "mydb.db"); - если файл базы данных находится в хранилище дынных приложения. */
 using (var db = new SQLiteConnection(PathLocalFolderdb))
            {
                q = "Select namedb from names "; // наш sql запрос на выборку
                
                foreach (var i in db.Query<names>(q))
                {
                    lb_db.Items.Add(i.namedb);//добавляем в ListBox столбец запроса namedb
 
                }
             }
5. Скрин
http://f5.s.qip.ru/qpjF8MfQ.png
0
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
16.04.2015, 17:45
JusticeAn, а вы подключали библиотеку System.Data.SqlClient ? Студия совместима как с win7, так и с win8, набор драйверов в комплекте у них одинаковый, а их работа зависет от .net framework, а студия без него не работает, так что должен там быть этот ExecuteReader
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
16.04.2015, 18:20  [ТС]
Fene4ka_,здравствуйте! Насколько я знаю, microsoft отказалась от библиотеки System.Data и Entity Framework в приложения Windows App Store. Поэтому подключить ее не удастся в проектах приложений для магазина, ведь это не десктопное приложение.
0
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
16.04.2015, 18:23
Цитата Сообщение от JusticeAn Посмотреть сообщение
отказалась от библиотеки System.Data и Entity Framework
тогда они должны были разработать библиотеки, которые пришли на замену, поищите их
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
16.04.2015, 18:41  [ТС]
Fene4ka_, не понимаю смысл Вашего совета, если я постом#13 в данной теме дала полное объяснение решение данной проблемы своим путем.
0
186 / 0 / 2
Регистрация: 15.03.2015
Сообщений: 9
16.04.2015, 20:51
Привет всем!
Цитата Сообщение от JusticeAn Посмотреть сообщение
Всё же на основе классов, другого способа я не нашла.
Да, я тоже понял, что другого способа в WinRT не существует. Хотя создание таблиц в стиле ADO.Net в SQLite WinRT работает, а вот получить список таблиц и отобразить его в ComboBox невозможно.
Цитата Сообщение от JusticeAn Посмотреть сообщение
Создаем класс в DataModel или в App.xaml.cs, чтобы он был виден во всем приложении
В таком случае в базе будет создана таблица с именем names, а чтоб создать еще таблицу нужно писать класс-модель с другим именем, т.е. имена таблиц и их количество жестко привязываются к коду. Мне же нужно чтоб пользователь через интерфейс приложения мог создавать свои таблицы в базе и потом выбрать их в ComboBox для работы.
Родилась идея (правда еще ее не проверял), а что если использовать не одну базу а несколько, с разными именами, а в ComboBox отображать их список в локальной папке приложения. Правда не знаю как это скажется на скорости работы приложения по мере увеличения базы данных, хотя сами базы не предполагаются быть слишком большими, думаю не больше 2000 записей в каждой базе
0
1 / 1 / 0
Регистрация: 30.05.2013
Сообщений: 23
16.04.2015, 23:58  [ТС]
RenatSayf, снова здравствуйте)
Я не знаю, как так вышло, Вы, наверное, даже не поверите, но, когда я задавала этот вопрос полгода назад, я готовилась к конкурсу приложением своим, которое называется Универсальная база данных. И тут вы говорите о своей такой идее, ну очень похожей на мою.
Я закончила свое приложение, получила первое место на конкурсе и сейчас оно есть в маркете, но наверное, ссылка тут будет неуместна.

У меня были похожие вопросы, которые сейчас стоят перед Вами. Я бы могла ответить на многие из них, но не публично. Если можно как-то ЛС, мы бы поговорили об этом.
0
186 / 0 / 2
Регистрация: 15.03.2015
Сообщений: 9
18.04.2015, 08:52
Пишите сюда renatsayf@gmail.com
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2015, 08:52
Помогаю со студенческими работами здесь

Как записать в INT результат запроса MySQL, не использую DataGrid
Есть простая База данных, посылаю с формы запрос: SELECT COUNT(1) FROM название_таблицы Как результат запроса записать в INT

Как записать результат запроса (3 столбца varchar(50)) в TextBox1.Text
Доброго времени суток. Как ни странно не смог в сети найти четкого ответа на вопрос: Есть код: SqlConnection conMain = new...

Результат запроса в массив
Подскажите пожалуйста. Есть запрос к базе, результатом которого является значения одного столбца по какому либо условию. Можно ли эти...

Результат SQL запроса в массив
Всем доброго времени суток! Подскажите, как в C# поместить результат SQL запроса в массив. Например, в PHP есть такая функция как...

результат Sql запроса в двумерный массив
Добрый день. Как записать результат Sql запроса в двумерный массив? //Пример кода, но получаем одномерный массив ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru