Учебники

Разработка для Windows 10 — база данных SQLite

Во многих приложениях существуют определенные типы данных, которые имеют какую-то связь друг с другом. Эти типы данных, которые трудно хранить в файле, могут быть сохранены в базе данных.

Если вы знакомы с типами баз данных, таких как базы данных SQL-сервера или Oracle в любом приложении, тогда очень легко понять базу данных SQLite .

Что такое SQLite?

SQLite — это программная библиотека, которая реализует автономное ядро ​​транзакционной базы данных SQL с нулевой конфигурацией и нулевой конфигурацией.

Важные особенности —

  • SQLite является наиболее широко развернутым механизмом баз данных в мире.

  • Исходный код для SQLite является открытым исходным кодом.

  • Он оказал большое влияние на разработку игр и мобильных приложений благодаря своей мобильности и небольшому размеру.

SQLite является наиболее широко развернутым механизмом баз данных в мире.

Исходный код для SQLite является открытым исходным кодом.

Он оказал большое влияние на разработку игр и мобильных приложений благодаря своей мобильности и небольшому размеру.

Преимущества SQLite

Ниже приведены преимущества SQLite —

  • Это очень легкая база данных.
  • Он не зависит от платформы и работает на всех платформах.
  • Он имеет небольшой след памяти.
  • Это надежно.
  • Нет необходимости в какой-либо настройке и установке.
  • У него нет зависимостей.

Чтобы использовать SQLite в приложениях универсальной платформы Windows (UWP), вам необходимо выполнить следующие шаги.

  • Создайте новое универсальное пустое приложение для Windows с именем UWPSQLiteDemo .

  • Перейдите в меню « Сервис» и выберите «Расширения и обновления». Следующий диалог откроется.

Создайте новое универсальное пустое приложение для Windows с именем UWPSQLiteDemo .

Перейдите в меню « Сервис» и выберите «Расширения и обновления». Следующий диалог откроется.

UWP SQLite Demo

  • После выбора расширений и обновлений откроется следующее окно.

UWP SQLite Расширения и обновления

  • Теперь выберите опцию Online и найдите SQLite на левой панели.

  • Загрузите и установите SQLite для универсальной платформы приложений.

  • Теперь снова зайдите в меню «Инструменты» и выберите пункт меню « Диспетчер пакетов NuGet»> «Консоль диспетчера пакетов», как показано ниже.

Теперь выберите опцию Online и найдите SQLite на левой панели.

Загрузите и установите SQLite для универсальной платформы приложений.

Теперь снова зайдите в меню «Инструменты» и выберите пункт меню « Диспетчер пакетов NuGet»> «Консоль диспетчера пакетов», как показано ниже.

UWP SQLite Manage Console

  • Напишите следующую команду в консоли диспетчера пакетов и нажмите Enter, чтобы выполнить эту команду:

Напишите следующую команду в консоли диспетчера пакетов и нажмите Enter, чтобы выполнить эту команду:

Install-Package SQLite.Net-PCL 

Консольная команда UWP SQLite

  • Теперь щелкните правой кнопкой мыши на References в обозревателе решений и выберите Add References .

Теперь щелкните правой кнопкой мыши на References в обозревателе решений и выберите Add References .

UWP SQLite Добавить ссылки

  • Следующий диалог откроется.

UWP SQLite Dialog

  • Выберите Расширения на левой панели в разделе « Универсальная Windows» , установите флажок «SQLite для универсальной платформы приложений» на средней панели и нажмите «ОК».

  • Теперь вы готовы пойти и использовать SQLite в своих приложениях UWP.

Выберите Расширения на левой панели в разделе « Универсальная Windows» , установите флажок «SQLite для универсальной платформы приложений» на средней панели и нажмите «ОК».

Теперь вы готовы пойти и использовать SQLite в своих приложениях UWP.

Вы можете создать базу данных, используя следующий код.

string path = Path.Combine(Windows.Storage.ApplicationData.
   Current.LocalFolder.Path, "db.sqlite"); 

SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new 
   SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path);

Для создания таблицы необходимо вызвать метод CreateTable с объектом имени таблицы.

conn.CreateTable<Customer>(); 

Вы можете вставить данные в свою таблицу, используя следующий код.

conn.Insert(new Customer(){
   Name = textBox.Text, 
   Age = textBox1.Text 
});

Ниже приведен код для извлечения данных из таблицы.

var query = conn.Table<Customer>(); 
string id = ""; 
string name = ""; 
string age = ""; 
 
foreach (var message in query) { 
   id = id + " " + message.Id; 
   name = name + " " + message.Name; 
   age = age + " " + message.Age; 
}

Давайте разберемся, как создать базу данных, таблицу и как вставить и извлечь данные из базы данных с помощью простого примера. Мы добавим имя и возраст, а затем извлечем те же данные из таблицы. Ниже приведен код XAML, в который добавлены различные элементы управления.

<Page 
   x:Class = "UWPSQLiteDemo.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:local = "using:UWPSQLiteDemo" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   mc:Ignorable = "d"> 
	
   <Grid Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}" >
      <Button x:Name = "Retrieve" Content = "Retrieve" HorizontalAlignment = "Left"  
         VerticalAlignment = "Top" Margin = "384,406,0,0"  
         Click = "Retrieve_Click"/>
			
      <Button x:Name = "Add" Content = "Add" HorizontalAlignment = "Left"  
         VerticalAlignment = "Top" Margin = "291,406,0,0" Click = "Add_Click"/>
			
      <TextBlock x:Name = "textBlock" HorizontalAlignment = "Left"  
         TextWrapping = "Wrap" Text = "Name" VerticalAlignment = "Top"  
         Margin = "233,280,0,0" Width = "52"/>
			
      <TextBox x:Name = "textBox" HorizontalAlignment = "Left" TextWrapping = "Wrap"  
         VerticalAlignment = "Top" Margin = "289,274,0,0" Width = "370"/>
			
      <TextBlock x:Name = "textBlock1" HorizontalAlignment = "Left"  
         TextWrapping = "Wrap" Text = "Age" VerticalAlignment = "Top"  
         Margin = "233,342,0,0" Width = "52"/>
			
      <TextBox x:Name = "textBox1" HorizontalAlignment = "Left" TextWrapping = "Wrap"  
         VerticalAlignment = "Top" Margin = "289,336,0,0" Width = "191"/>
			
      <TextBlock x:Name = "textBlock2" HorizontalAlignment = "Left"  
         Margin = "290,468,0,0" TextWrapping = "Wrap"  
         VerticalAlignment = "Top" Width = "324" Height = "131"/>
			
   </Grid>
	
</Page>		   

Ниже приведена реализация C # для событий и базы данных SQLite .

using SQLite.Net.Attributes; 

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Runtime.InteropServices.WindowsRuntime; 

using Windows.Foundation; 
using Windows.Foundation.Collections; 

using Windows.UI.Xaml; 
using Windows.UI.Xaml.Controls; 
using Windows.UI.Xaml.Controls.Primitives; 
using Windows.UI.Xaml.Data; 
using Windows.UI.Xaml.Input; 
using Windows.UI.Xaml.Media; 
using Windows.UI.Xaml.Navigation;  

// The Blank Page item template is documented at 
   http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 
 
namespace UWPSQLiteDemo {
 
   /// <summary>
      /// An empty page that can be used on its own or navigated to within a Frame.
   /// </summary>
	
   public sealed partial class MainPage : Page {
      string path; 
      SQLite.Net.SQLiteConnection conn; 
		
      public MainPage(){
         this.InitializeComponent();  
         path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path,
            "db.sqlite"); 
         conn = new SQLite.Net.SQLiteConnection(new 
            SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path);  
         conn.CreateTable<Customer>(); 
      }
		
      private void Retrieve_Click(object sender, RoutedEventArgs e) { 
         var query = conn.Table<Customer>(); 
         string id = ""; 
         string name = ""; 
         string age = "";  
			
         foreach (var message in query) {
            id = id + " " + message.Id; 
            name = name + " " + message.Name; 
            age = age + " " + message.Age; 
         }
			
         textBlock2.Text = "ID: " + id + "\nName: " + name + "\nAge: " + age; 
      }  
		
      private void Add_Click(object sender, RoutedEventArgs e){ 
       
         var s = conn.Insert(new Customer(){
            Name = textBox.Text, 
            Age = textBox1.Text 
         }); 
			
      } 
   } 
	
   public class Customer {
      [PrimaryKey, AutoIncrement] 
      public int Id { get; set; } 
      public string Name { get; set; } 
      public string Age { get; set; } 
   } 
	
} 

Когда приведенный выше код скомпилирован и выполнен, вы увидите следующее окно.

UWP SQLite Execute

Введите Имя и Возраст и нажмите кнопку Добавить .

UWP SQLite Добавить кнопку

Теперь нажмите на кнопку Получить . Вы увидите следующие данные в текстовом блоке .

UWP SQLite Retrieve

Поле идентификатора — это поле Первичный ключ и Автоинкремент, указанное в классе Customer.