日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

uwp数据库操作

發布時間:2025/6/15 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uwp数据库操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在絕大多數應用中,免不了要做的一項就是設置這樣的本地數據存儲。簡單的數據存儲我們可以使用 LocalSettings 或者 IsolatedStorageFile(獨立存儲)等等的方式來進行本地數據存儲。但是,如果數據比較復雜,或者是存在關聯關系的情況下,這種簡單的鍵值存儲方式是不夠用的。這時候就需要用到數據庫來進行存儲。說到數據庫,小型、輕量基于文件的 SQLite 就很適合在這種場合使用。

一、安裝 SQLite for Universal App Platform VSIX 擴展

打開菜單欄的工具-擴展與更新,選擇左側的聯機選項卡,在右上角搜索框輸入 SQLite。

安裝上面這個 SQLite for Universal App Platform 擴展。等待安裝完成后,重新啟動 Visual Studio。

二、在項目中添加引用

1、添加對 SQLite 的引用

新建一個項目(當然在現有項目添加也可以,這里只是演示)。等待新建完成后,添加引用。

按照圖片中的步驟,找到 SQLite for Universal App Platform,并勾選,然后按右下角的確定按鈕。

2、添加 SQLite.Net 的引用

或者可以直接在程序包管理器控制臺鍵入:Install-Package SQLite.Net-PCL 來進行安裝。

3、確保引用無誤

確保項目是把這兩個包都引用上


三、開始編碼

1、編寫用于測試的 Person 模型類

using SQLite.Net.Attributes; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace sqlite2 {class Person{[PrimaryKey]// 主鍵。[AutoIncrement]// 自動增長。public int Id{get;set;}[MaxLength(5)]// 對應到數據庫 varchar 的大小。public string Name{get;set;}} }

2、編寫測試頁面的前臺 Xaml 代碼

<Pagex:Class="sqlite2.MainPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:sqlite2"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}"><StackPanel Margin="100"><TextBlock Text="添加"></TextBlock><TextBox Header="名字"x:Name="txtAddName"></TextBox><Button Content="添加進數據庫"Click="BtnAdd_Click"></Button><TextBlock Text="查詢"Margin="0,50,0,0"></TextBlock><Button Content="查詢所有"Click="BtnGetAll_Click"></Button></StackPanel></Grid> </Page>

3、編寫測試頁面的后臺 cs 代碼

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices.WindowsRuntime; using System.Text; using Windows.Foundation; using Windows.Foundation.Collections; using Windows.UI.Popups; 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;//“空白頁”項模板在 http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 上有介紹namespace sqlite2 {/// <summary>/// 可用于自身或導航至 Frame 內部的空白頁。/// </summary>public sealed partial class MainPage : Page{public MainPage(){this.InitializeComponent();}private async void BtnAdd_Click(object sender, RoutedEventArgs e){string name = txtAddName.Text;using (var conn = AppDatabase.GetDbConnection()){// 需要添加的 Person 對象。var addPerson = new Person() { Name = name };// 受影響行數。var count = conn.Insert(addPerson);string msg = $"新增的 Person 對象的 Id 為 {addPerson.Id},Name 為 {addPerson.Name}";await new MessageDialog(msg).ShowAsync();}}private async void BtnGetAll_Click(object sender, RoutedEventArgs e){using (var conn = AppDatabase.GetDbConnection()){StringBuilder msg = new StringBuilder();var dbPerson = conn.Table<Person>();msg.AppendLine($"數據庫中總共 {dbPerson.Count()} 個 Person 對象。");foreach (var person in dbPerson){msg.AppendLine($"Id:{person.Id};Name:{person.Name}");}await new MessageDialog(msg.ToString()).ShowAsync();}}} }

4、編寫 AppDatabase 類

using SQLite.Net; using SQLite.Net.Platform.WinRT; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Windows.Storage;namespace sqlite2 {public static class AppDatabase{/// <summary>/// 數據庫文件所在路徑,這里使用 LocalFolder,數據庫文件名叫 test.db。/// </summary>public readonly static string DbPath = Path.Combine(ApplicationData.Current.LocalFolder.Path, "test.db");public static SQLiteConnection GetDbConnection(){// 連接數據庫,如果數據庫文件不存在則創建一個空數據庫。var conn = new SQLiteConnection(new SQLitePlatformWinRT(), DbPath);// 創建 Person 模型對應的表,如果已存在,則忽略該操作。conn.CreateTable<Person>();return conn;}} }


總結

以上是生活随笔為你收集整理的uwp数据库操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人天堂av网站 | 高清欧美精品xxxxx在线看 | 亚洲大片免费观看 | 日韩av大全| 欧美亚洲国产精品 | 欧美少妇网 | 精品人成 | 免费成人av在线 | 97天天操 | 国产剧情精品在线 | 日本高清www | 无码人妻aⅴ一区二区三区有奶水 | 亚洲精品男人的天堂 | 白丝av | 国产网站精品 | 高潮一区二区三区乱码 | 亚洲免费观看av | 火影忍者羞羞漫画 | 国产淫| 国产成人精品一区二区三区在线观看 | 亚洲男人天堂2024 | 操亚洲| 深夜福利日韩 | 国产精品高清在线观看 | 久久网国产| 亚洲熟伦熟女新五十路熟妇 | 亚洲一区二区精品在线观看 | 黑人爱爱视频 | 黄色三级图片 | 啪啪免费视频网站 | 在线观看精品国产 | 曰本不卡视频 | 自由 日本语 热 亚洲人 | 98超碰在线 | 成人刺激视频 | 91人人爽| 亚洲在线观看免费 | 日本不卡二区 | 国产高清自拍一区 | 一区免费在线观看 | 91一区在线 | 成人国产一区二区 | www.日本黄 | 黄色一级片国产 | 国产福利一区二区三区 | 男人的天堂一级片 | 99久久亚洲精品 | 黑人黄色大片 | 女生毛片 | 91福利在线免费观看 | 日本一二三区在线视频 | 日本三级吃奶头添泬无码苍井空 | 樱花草涩涩www在线播放 | 伊人久久精品 | 国产精品久久一区二区三区动 | 99久久婷婷国产精品综合 | 好色艳妇小说 | 中文字幕一区二区三区乱码在线 | 日韩欧美一二区 | 午夜免费视频网站 | 自拍偷拍日韩 | 一区二区的视频 | 爱搞逼综合 | 日本伊人久久 | 欧美日韩精品二区 | 国产精品高潮呻吟av | 日韩欧美一区二区三区久久婷婷 | 美女视频黄免费 | 日韩电影一区二区 | 中文字幕日韩高清 | 欧美做受高潮中文字幕 | 成人福利av| 亚洲国产av一区二区三区 | 国产一级片一区 | 淫僧荡尼巨乳(h)小说 | 海角国产乱辈乱精品视频 | 日韩高清影视在线观看 | 精品无码人妻一区二区三区品 | 欧美日韩不卡合集视频 | 免费福利在线视频 | 经典三级在线视频 | 午夜久久久 | 精品视频在线观看免费 | 日本va视频 | 美女隐私无遮挡网站 | 97超级碰碰人妻中文字幕 | 精品国产无码在线 | 污污视频免费网站 | 久久精品一本 | 18无码粉嫩小泬无套在线观看 | 国产午夜伦鲁鲁 | 亚洲av综合色区无码另类小说 | 一区二区日韩精品 | 91aaaa| 三级视频久久 | 国产精品免费一区 | 日韩3p| 成人一级网站 | 亚洲欧洲日韩综合 |