📅  最后修改于: 2020-11-18 10:09:15             🧑  作者: Mango
在许多应用程序中,存在某些类型的数据,它们之间具有某种关系。这些类型的数据很难存储在文件中,可以存储在数据库中。
如果您熟悉数据库的类型,例如任何应用程序中的SQL Server或Oracle数据库,那么就很容易理解SQLite数据库。
SQLite是一个软件库,可实现独立的,较少服务器,零配置的事务型SQL数据库引擎。
重要功能是-
SQLite是世界上部署最广泛的数据库引擎。
SQLite的源代码是“开源”。
由于它的便携性和较小的占用空间,它对游戏和移动应用程序开发产生了重大影响。
以下是SQLite的优点-
要在通用Windows平台(UWP)应用程序中使用SQLite ,您需要执行以下步骤。
创建一个新的通用Windows空白应用程序,名称为UWPSQLiteDemo 。
转到工具菜单,然后选择扩展和更新。将打开以下对话框。
现在,选择Online选项,然后从左窗格中搜索SQLite。
下载并安装通用应用程序平台的SQLite。
现在,再次转到“工具”菜单,然后选择“ NuGet软件包管理器”>“软件包管理器控制台”菜单选项,如下所示。
在Package Manager控制台中编写以下命令,然后按Enter键以执行此命令-
Install-Package SQLite.Net-PCL
现在,在解决方案资源管理器中右键单击“引用” ,然后选择“添加引用” 。
从“通用Windows”下左窗格中选择“扩展”,在中间窗格中选中“ SQLite for Universal App Platform”,然后单击“确定”。
现在您可以开始在UWP应用程序中使用SQLite了。
您可以使用以下代码创建数据库。
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();
您可以使用以下代码将数据插入表中。
conn.Insert(new Customer(){
Name = textBox.Text,
Age = textBox1.Text
});
下面给出的是从表中检索数据的代码。
var query = conn.Table();
string id = "";
string name = "";
string age = "";
foreach (var message in query) {
id = id + " " + message.Id;
name = name + " " + message.Name;
age = age + " " + message.Age;
}
让我们通过一个简单的示例了解如何创建数据库,表以及如何从数据库中插入和检索数据。我们将添加Name和age,然后从表中检索相同的数据。下面给出的是XAML代码,其中添加了不同的控件。
下面给出的是事件和SQLite数据库的C#实现。
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 {
///
/// An empty page that can be used on its own or navigated to within a Frame.
///
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();
}
private void Retrieve_Click(object sender, RoutedEventArgs e) {
var query = conn.Table();
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; }
}
}
编译并执行上述代码后,您将看到以下窗口。
输入名称和年龄,然后单击添加按钮。
现在单击检索按钮。您将在“文本块”上看到以下数据。
ID字段是“主键和自动递增”字段,在“客户”类中指定。
[PrimaryKey, AutoIncrement]
public int Id { get; set; }