Главная страница » Статьи и уроки » C# статьи » Работа с БД SQLite на языке C#
Опрос
Какие статьи добавлять?
Выделенные и виртуальные серверы в Европе

Работа с БД SQLite на языке C#

Автор: administrator Дата: 5-03-2015, 09:20 Категория: Статьи и уроки / C# статьи
Здравствуйте! Сегодня я покажу некоторые примеры работы с базой данных SQLite на языке C#. В примерах мы будем создавать БД программно, создавать таблицы, получать список таблиц, а также вставлять записи и производить выборку строк.

Итак, приступим.

Для начала нам нужно программно создать БД, вот как это будет выглядеть:

using System;
using System.Data.SQLite;
using System.IO;
 
class Program
{
    static void Main(string[] args)
    {
        string databaseName = @"C:\test.db";
        SQLiteConnection.CreateFile(databaseName);
        Console.WriteLine(File.Exists(databaseName) ? "База данных создана" : "Возникла ошибка при создании базы данных");
        Console.ReadKey(true);
    }
}


База данных создана, теперь приступим к созданию таблиц:

using System;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\test.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);
    }
}


Мы создали БД с именем test.db, создали таблицу с названием example и двумя полями id и value, как-же теперь нам программно посмотреть нашу таблицу?! Все очень просто! Ниже представлен пример получения списка таблиц БД

using System;
using System.Data.Common;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\test.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);
    }
}


Мы научились создавать БД, создавать таблицы, смотреть список всех таблиц, а теперь давайте посмотрим как делать запись в таблицу и производить выборку строк из таблицы.

Вставка записей:

using System;
using System.Data.Common;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\test.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);
    }
}


Выборка строк:

using System;
using System.Data.Common;
using System.Data.SQLite;
 
class Program
{
    static void Main(string[] args)
    {
        const string databaseName = @"C:\test.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);
    }
}


Вот что мы получим из примера выборки:
Выборка строк из БД (консольное приложение)


Надеюсь эти небольшие примеры пригодятся для новичков-программистов.

P.S. - если вы испробовали все примеры, но компилятор выдаёт вам ошибку, то это значит, что у вас не подключена библиотека для работы с БД SQLite.
  • Не нравится
  • +1
  • Нравится
Просмотров: 15 402 Напечатать Жалоба
Теги: SQLite БД
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.
Написать комментарий
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: