原文:Win10之UWP的数据存储

我们知道通常我们开发的时候都要考虑把用户的数据存储到一个数据库里面,而这个数据库则考虑到了整个应用的性能上面,这里我们不考虑SQL server的数据库,我们考虑较为轻量的数据库进行存储。

首先我们新建一个项目,然后把界面用代码处理一下

 <Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Text="把数据存储入数据库"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="楷体"
FontSize="24"
Foreground="Green"/>
<TextBlock Text="MySQLite Connection Test"
HorizontalAlignment="Center"
FontSize="36"
FontFamily="Gabriola"
Grid.Row="1"
Foreground="Green"/>
<TextBlock Text="用户账号:"
Grid.Row="2"/>
<TextBox x:Name="MyTextBox"
Grid.Row="3"
PlaceholderText="name"/>
<TextBlock Text="用户密码:"
Grid.Row="4"/>
<PasswordBox x:Name="MyPassWordBox"
Grid.Row="4"
PlaceholderText="password"
Margin="0,20,0,0"/>
    <Page.BottomAppBar>
<CommandBar IsOpen="False"
ClosedDisplayMode="Minimal"
Background="Green">
<AppBarButton x:Name="Add"
Label="Add"
Icon="Add"
Click="Add_Click"/>
<AppBarButton x:Name="Show"
Label="Show"
Icon="Zoom"
Click="Show_Click"/>
</CommandBar>
</Page.BottomAppBar>

然后我们再来处理一下界面后台的事件代码处理

 string path;
SQLite.Net.SQLiteConnection conn;

到这里的时候我们忘记了一件事,没有安装相关的插件,所以再安装下数据库插件



还要再安装一个插件



紧接着我们安装好了插件后,我再来添加引用,让项目得到插件的支持



好了,这次可以好好的写代码了,我在项目中新增了一个类

   public class MyTest
{
[PrimaryKey,AutoIncrement]
public int Id { get; set; }
public string Name { get; set; }
public string PassWord { get; set; }
}

我回到我们的主界面的后台写写代码

  path = Path.Combine(Windows.Storage.ApplicationData.Current.LocalCacheFolder.Path, "db.MySQLite");
conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), path);
conn.CreateTable<MyTest>();

新增事件的后台的代码处理

private void Add_Click(object sender, RoutedEventArgs e)
{
var add = conn.Insert(new MyTest()
{
Name = MyTextBox.Text,
PassWord = MyPassWordBox.Password
});
Debug.WriteLine(path);
}

这里的这个方法是在visual studio 2015中显示实时新增的数据

        private void Show_Click(object sender, RoutedEventArgs e)
{
var query = conn.Table<MyTest>();
string result = String.Empty;
foreach (var item in query)
{
result = String.Format("{0}:{1}:{2}", item.Id, item.Name,item.PassWord);
Debug.WriteLine(result);
}
}



代码写到这里就已经写完了,我们看看目的达到了没有



我们再来看看第二次的效果如何

很显然我们写的数据成功的存储到了SQLite的数据库中,所以我们的目的就达到了!!!!

Win10之UWP的数据存储的更多相关文章

  1. Kooboo CMS技术文档之三:切换数据存储方式

    切换数据存储方式包括以下几种: 将文本内容存储在SqlServer.MySQL.MongoDB等数据库中 将站点配置信息存储在数据库中 将后台用户信息存储在数据库中 将会员信息存储在数据库中 将图片. ...

  2. Android之数据存储的五种方法

    1.Android数据存储的五种方法 (1)SharedPreferences数据存储 详情介绍:http://www.cnblogs.com/zhangmiao14/p/6201900.html 优 ...

  3. Android之网络数据存储

    一.网络保存数据介绍 可以使用网络来保存数据,在需要的时候从网络上获取数据,进而显示在App中. 用网络保存数据的方法有很多种,对于不同的网络数据采用不同的上传与获取方法. 本文利用LeanCloud ...

  4. Android之文件数据存储

    一.文件保存数据介绍 Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的.文件可用来存放大量数据,如文本.图 ...

  5. Android之SharedPreferences数据存储

    一.SharedPreferences保存数据介绍 如果有想要保存的相对较小键值集合,应使用SharedPreferences API.SharedPreferences对象指向包含键值对的文件并提供 ...

  6. Atitit 数据存储视图的最佳实际best practice attilax总结

    Atitit 数据存储视图的最佳实际best practice attilax总结 1.1. 视图优点:可读性的提升1 1.2. 结论  本着可读性优先于性能的原则,面向人类编程优先于面向机器编程,应 ...

  7. Android数据存储之SQLCipher数据库加密

    前言: 最近研究了Android Sqlite数据库(文章地址:Android数据存储之Sqlite的介绍及使用)以及ContentProvider程序间数据共享(Android探索之ContentP ...

  8. Android数据存储之GreenDao 3.0 详解

    前言: 今天一大早收到GreenDao 3.0 正式发布的消息,自从2014年接触GreenDao至今,项目中一直使用GreenDao框架处理数据库操作,本人使用数据库路线 Sqlite----> ...

  9. Vertica增加一个数据存储的目录

    Vertica增加一个数据存储的目录 操作语法为: ADD_LOCATION ( 'path' , [ 'node' , 'usage', 'location_label' ] ) 各节点添加目录,并 ...

随机推荐

  1. webrtc 它android与PC互通

    折腾了一个多星期,今天终将PC和android音频,视频全部打通. 到现在,android与android,pC与PC,android与PC之间已经解决了互通,的音频和视频是能够. 前段时间开了PC与 ...

  2. boost-1.53源代码编译

    1.下载源代码.首先得明确,boost大多数库都仅仅有头文件.链接时不需Lib文件:下面库须要单独编译成库: Boost.Filesystem Boost.GraphParallel Boost.IO ...

  3. Codeforces C. Pattern 412 解决问题的方法

    这个问题是比较暴力的法律主体. 主要是检查每一个是否没有使用足够的?.假设优先使用其他的无论是什么字母,假设你一定不能使用?. 找一个有能力并给予所有的字符串匹配字符串,而且采用的最小?号码. 原标题 ...

  4. 一段node代码的解读

    path.join(path.dirname(__dirname), platform); __dirname:全局变量,变量获取当前模块文件所在目录的完整绝对路径 path.dirname():返回 ...

  5. PCI GXL学习之再造篇

    作者:朱金灿 来源:http://blog.csdn.net/clever101 再造一个PCI GXL?听起来是一件颇有难度的事,实际上并非不可能.本文拟从必要性.可行性和技术路线等方面谈谈再造PC ...

  6. Python 金融数据分析 (一)—— 股票数据

    1. tushare 库 tushare 的官网请见:TuShare -财经数据接口包,是国人自己开发的 Python 爬数据工具(所谓的爬,自然就是在线连网获取数据),囊括股票.期货.宏观经济.电影 ...

  7. java学习笔记(2)——函数

    int a = 1; a = a++; 1,取出a的值1作为a++表达式的值(a++表达式等于1) 2,a增加1变为2 3,执行赋值运算,a++表达式的值再赋给a,a又成为了1. ---------- ...

  8. Java transient关键字【转】

    转自:http://www.blogjava.net/fhtdy2004/archive/2009/06/20/286112.htmlVolatile修饰的成员变量在每次被线程访问时,都强迫从主内存中 ...

  9. 使用Adorner显示WPF控件的边界点

    原文:使用Adorner显示WPF控件的边界点 当我们拖动WPF控件时,我们为了更清楚地需要显示控件,一般我们会在WPF控件所围成的矩形区域的四个边界点上作一个特殊的记号(比如圆点).如下图: 在Wi ...

  10. 从hadoop 要删除字符串匹配指定的任务

    我们都知道,假设 hadoop job -list 获取当前正在执行的hadoop 任务,返回的结果例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...