Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/323: Рейтинг темы: голосов - 323, средняя оценка - 4.73
 Аватар для devillom
11 / 11 / 0
Регистрация: 03.08.2011
Сообщений: 44

Как работать с БД SQLite

06.10.2011, 16:22. Показов 62495. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как работать с БД Sqlite и с чем его едят в си шарпе! Тока с ним могу обращаться на языке PHP, или дайте ссылку буду очень блогадарен!
Поискал в гугле все на английском(
1
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.10.2011, 16:22
Ответы с готовыми решениями:

Как работать с БД SQLite и с DataGridView?
Есть БД на SQLite нужно вывести данные с таблиц на DataGridView. Как это реализовать? И какие отличия между SQLite и MySQL?

Файл cookies.sqlite не sqlite на самом деле, или как его открыть
хочу прочитать куки браузеров (это не противозаконно) оперу сделал, хром сделал, у хрома как раз sqlite как и у мозилы делаю...

Редактирование связанных объектов через EF в SQLite, C#, EF 6.2, SQLite, C# Winforms
Здравствуйте. Суть: используя вышеперечисленные технологии, при чтении из базы данных связанных объектов после добавления, функция...

12
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
06.10.2011, 17:19
Лучший ответ Сообщение было отмечено как решение

Решение

1 Создание БД
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
using System.Data.SQLite;
using System.IO;
 
class Program
{
    static void Main(string[] args)
    {
        string databaseName = @"C:\cyber.db";
        SQLiteConnection.CreateFile(databaseName);
        Console.WriteLine(File.Exists(databaseName) ? "База данных создана" : "Возникла ошиюка при создании базы данных");
        Console.ReadKey(true);
    }
}

2 Создание таблицы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\cyber.db";
        SQLiteConnection connection = 
            new SQLiteConnection(string.Format("Data Source={0};", databaseName));
        SQLiteCommand command = 
            new SQLiteCommand("CREATE TABLE example (id INTEGER PRIMARY KEY, value TEXT);", connection);
        connection.Open();
        command.ExecuteNonQuery();
        connection.Close();
        Console.ReadKey(true);
    }
}

3 Получение списка таблиц БД
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Data.Common;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\cyber.db";
        SQLiteConnection connection = 
            new SQLiteConnection(string.Format("Data Source={0};", databaseName));
        connection.Open();
        SQLiteCommand command = new SQLiteCommand("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;", connection);
        SQLiteDataReader reader = command.ExecuteReader();
        foreach (DbDataRecord record in reader)
            Console.WriteLine("Таблица: " + record["name"]);
        connection.Close();
        Console.WriteLine("Готово");
        Console.ReadKey(true);
    }
}

4 Вставка записей
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.Data.Common;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\cyber.db";
        SQLiteConnection connection = 
            new SQLiteConnection(string.Format("Data Source={0};", databaseName));
        connection.Open();
        SQLiteCommand command = new SQLiteCommand("INSERT INTO 'example' ('id', 'value') VALUES (1, 'Вася');", connection);
        command.ExecuteNonQuery();
        connection.Close();
        Console.WriteLine("Готово");
        Console.ReadKey(true);
    }
}

5 Выборка строк
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.Data.Common;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\cyber.db";
        SQLiteConnection connection = 
            new SQLiteConnection(string.Format("Data Source={0};", databaseName));
        connection.Open();
        SQLiteCommand command = new SQLiteCommand("SELECT * FROM 'example';", connection);
        SQLiteDataReader reader = command.ExecuteReader();
        Console.Write("\u250C" + new string('\u2500', 5) + "\u252C" + new string('\u2500', 60) + "\u2510");
        Console.WriteLine("\n\u2502" + "  id \u2502" + new string(' ', 30) + "value"  + new string(' ', 25)+ "\u2502");
        Console.Write("\u251C" + new string('\u2500', 5) + "\u253C" + new string('\u2500', 60) + "\u2524\n");
        foreach (DbDataRecord record in reader)
        {
            string id = record["id"].ToString();
            id = id.PadLeft(5 - id.Length, ' ');
            string value = record["value"].ToString();
            string result = "\u2502" + id + " \u2502";
            value = value.PadLeft(60 , ' ');
            result += value + "\u2502";
            Console.WriteLine(result);
        }
        Console.Write("\u2514" + new string('\u2500', 5) + "\u2534" + new string('\u2500', 60) + "\u2518");
        connection.Close();
        Console.ReadKey(true);
    }
}

43
 Аватар для tesler
3 / 3 / 4
Регистрация: 08.04.2011
Сообщений: 201
01.11.2014, 18:40
Не видит метод CreateFile...хотя все библиотеки вроде бы подключены

Цитата Сообщение от Петррр Посмотреть сообщение
SQLiteConnection.CreateFile(databaseName );
Подскажи плиз, в чем может быть дело?
0
 Аватар для tesler
3 / 3 / 4
Регистрация: 08.04.2011
Сообщений: 201
02.11.2014, 00:40
Не видит вообще никаких методов данного класса...проблемы с созданием коннекта, подскажите плиз в чем может быть дело
Миниатюры
Как работать с БД SQLite  
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
03.11.2014, 16:41
tesler, все действия с полями класса производятся внутри методов класса. Нельзя использовать поле классе вне метода. В C# поле класса вне метода можно только инициализировать. Но ни как не вызвать для него, допустим, метода Open.
Ваш код противоречит основам программирования на C#. А вы уже на работу с базами данных замахнулись. читайте книжки.
PS: Надеюсь, не обидел.
1
 Аватар для tesler
3 / 3 / 4
Регистрация: 08.04.2011
Сообщений: 201
03.11.2014, 16:50
Цитата Сообщение от kodv Посмотреть сообщение
все действия с полями класса производятся внутри методов класса. Нельзя использовать поле классе вне метода. В C# поле класса вне метода можно только инициализировать. Но ни как не вызвать для него, допустим, метода Open.
Ваш код противоречит основам программирования на C#. А вы уже на работу с базами данных замахнулись. читайте книжки.
PS: Надеюсь, не обидел.
спс за ответ, нет не обидел, не боги горшки обжигают, все так начинают ну или по крайней мере большинство

Однако, я всё делаю по примеру(ниже), и кстати на всех форумах примерно одно и тоже ...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Data.SQLite;
 
class Program
{
static void Main(string[] args)
{
const string databaseName = @"C:\cyber.db";
SQLiteConnection connection =
new SQLiteConnection(string.Format("Data Source={0};", databaseName));
SQLiteCommand command =
new SQLiteCommand("CREATE TABLE example (id INTEGER PRIMARY KEY, value TEXT);", connection);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
Console.ReadKey(true);
}
}
это как так выходит тогда...
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
03.11.2014, 17:04
tesler, обратите особое внимание на static void Main(string[] args). Это объявление метода Main, внутри которого выполняются все действия. На вашем скриншоте никакого метода не объявлялось, а была попытка открыть соедение с БД из класса напрямую.
Цитата Сообщение от tesler Посмотреть сообщение
все так начинают ну или по крайней мере большинство
Статистикой не владею, но думаю, что большинство либо познают основы языка в ВУЗ'е, после чего уже пишут свой код, либо вместе с IDE скачивают книжку, примеры из которой и являются их первыми программами.
Ладно, будем считать вы просто запутались в примере, и поэтому потеряли объявление метода Main, а не намерено проигнорировали нужную литерутуру перед тем, как приступить к программирвоанию.
1
 Аватар для tesler
3 / 3 / 4
Регистрация: 08.04.2011
Сообщений: 201
03.11.2014, 17:16
Книги не игнорирую. Я не думаю, что на таких форумах только спецы сидят.

И да, спасибо, ошибка более чем ясна
0
6 / 6 / 1
Регистрация: 24.06.2014
Сообщений: 129
07.12.2016, 16:30
Вопрос: использую код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\cyber.db";
        SQLiteConnection connection = 
            new SQLiteConnection(string.Format("Data Source={0};", databaseName));
        SQLiteCommand command = 
            new SQLiteCommand("CREATE TABLE example (id INTEGER PRIMARY KEY, value TEXT);", connection);
        connection.Open();
        command.ExecuteNonQuery();
        connection.Close();
        Console.ReadKey(true);
    }
}
Но есть проблема, подключение к БД происходит, однако не считываются имена таблиц и создается пустой файл и именем моей БД.
0
Эксперт .NET
 Аватар для Usaga
14074 / 9291 / 1347
Регистрация: 21.01.2016
Сообщений: 34,884
07.12.2016, 16:45
Vadiliy, наверное это потому, что базу нужно создать вручную. Можно сделать это с помощью SqliteBrowser.
1
6 / 6 / 1
Регистрация: 24.06.2014
Сообщений: 129
07.12.2016, 23:18
А уже существующую? У меня есть уже готовая БД и мне нужно с ней работать (только чтение), как же мне быть?

Добавлено через 2 часа 26 минут
Проблема решена: просто невнимательность.
0
2 / 2 / 3
Регистрация: 06.10.2013
Сообщений: 168
08.06.2017, 15:20
Пожалуйста,
Добавите пример "Удаление таблицы"
0
1 / 1 / 1
Регистрация: 03.10.2012
Сообщений: 80
14.04.2018, 23:31
Цитата Сообщение от AlexLan73 Посмотреть сообщение
Пожалуйста,
Добавите пример "Удаление таблицы"
C#
1
2
3
4
5
6
7
8
9
10
11
string mydatabase1 = @"database1.db";
if (File.Exists(mydatabase1) == true) { }                
else SQLiteConnection.CreateFile(mydatabase1);
 
SQLiteConnection connection = new SQLiteConnection(string.Format("Data Source={0};", mydatabase1));
 
connection.Open();
            SQLiteCommand command5 = new SQLiteCommand("DROP TABLE 'example';", connection);
            command5.ExecuteNonQuery();
MessageBox.Show("Таблица удалена");
connection.Close();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.04.2018, 23:31
Помогаю со студенческими работами здесь

Как работать с базами данных SQLite
Всем привет Подозреваю, что тема избитая, но , к сожалению, для себя решения не нашел. Я не проф. программист, но есть задача...

Подскажите пожалуйста литературку, как работать с BLOB SQLite в Java
Подскажите пожалуйста литературку, как работать с BLOB SQLite в Java

Начать работать с SQLite
Помогите новичку! Пишу консольную программу под Win на С++ Компилирую этим (BAT-файлом): g++.exe %prj%_main_win.cpp %prj%src\*.cpp -o...

Можно ли в PascalABCNET работать с sqlite
Добрый вечер! Скажите пжл а можно ли в PascalABCNET работать с sqlite??? И если да где взять библиотеку??

SQLite for Excel или как выгрузить данные в SQLite
Здравствуйте! Мне необходимо написать макрос для выгрузки данных из excel в sqlite. Нашла проект SQLite for Excel, но при запуске...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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 . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru