windows phone 8.1开发SQlite数据库操作详解
原文出自:http://www.bcmeng.com/windows-phone-sqlite1/
本文小梦将和大家分享WP8.1中SQlite数据库的基本操作:(最后有整个示例的源码)(希望能通过本站广告支持小梦,谢谢!)
- 建立数据库
- 增加数据
- 删除数据
- 更改数据
- 查询数据
(注:为了让每个操作都能及时显示在UI上,所以进行了数据绑定.数据绑定会在后面文章专门讲解,先给出数据类Note,代表一个笔记.含有Name 和content 属性.其代码如下:如果不清楚,我会在之后讲解):
namespace SQlite
{
public class Note : INotifyPropertyChanged
{
private int id;
[AutoIncrement, PrimaryKey]
public int ID
{
get { return id; }
set
{
if (value!=id)
{
id = value;
RaisePropertyChanged("ID"); }
}
}
private string name;
[MaxLength()]
public string Name
{
get { return name; }
set
{
if (value != name)
{
name = value;
RaisePropertyChanged("Name"); }
}
} private string content;
[MaxLength()]
public string Content
{
get { return content; }
set
{
if (value != content)
{
content = value;
RaisePropertyChanged("Content"); }
}
} public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
windows phone 8.1开发SQlite-建立数据库
private SQLiteAsyncConnection GetConn()
{ return new SQLiteAsyncConnection(ApplicationData.Current.LocalFolder.Path + "\\note.db"); } private async void createButton_Click(object sender, RoutedEventArgs e)
{ SQLiteAsyncConnection conn = GetConn(); await conn.CreateTableAsync<Note>(); await new MessageDialog("创建数据库成功!").ShowAsync();
}
windows phone 8.1开发SQlite-增加数据
SQLiteAsyncConnection conn = GetConn();
await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我想你" });
await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我爱你" });
await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我喜欢你" });
await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我恨你" });
await conn.InsertAsync(new Note { Name = "小梦", Content = "小梦我打你" });
List<Note> notelist = await conn.Table<Note>().ToListAsync();
notes = new ObservableCollection<Note>(notelist);
listBox.ItemsSource = notes;
await new MessageDialog("增加数据成功!").ShowAsync();
windows phone 8.1开发SQlite-删除数据
SQLiteAsyncConnection conn = GetConn();
var query = await conn.Table<Note>().FirstAsync();
for (int i = ; i < notes.Count;i++ )
{
if (notes[i].ID == query.ID)
{
notes.RemoveAt(i);
break;
}
} await conn.DeleteAsync(query as Object);
listBox.ItemsSource = notes;
await new MessageDialog("删除数据成功!").ShowAsync();
windows phone 8.1开发SQlite-修改数据
SQLiteAsyncConnection conn = GetConn();
for (int i = ; i < notes.Count; i++)
{
if (notes[i].Name=="小梦")
{
notes[i].Content = "小梦我爱你"; }
}
var query = conn.Table<Note>().Where(x => x.Name=="小梦"); var result = await query.ToListAsync(); foreach (var item in result)
{ item.Content = "小梦我爱你"; await conn.UpdateAsync(item);
} await new MessageDialog("更新数据成功!").ShowAsync();
windows phone 8.1开发SQlite-查询数据
SQLiteAsyncConnection conn = GetConn();
var query = conn.Table<Note>();
var result = await query.ToListAsync();
notes = new ObservableCollection<Note>(result);
listBox.ItemsSource = notes;
await new MessageDialog("查询数据成功!").ShowAsync();
windows phone 8.1开发SQlite数据库操作详解源码下载:
windows phone 8.1开发SQlite数据库操作详解的更多相关文章
- windows phone 8.1开发SQlite数据库引用安装
原文出自:http://www.bcmeng.com/windows-phone-sqlite/ windows phone 8.1开发SQlite数据库引用安装 第一步: 安装SQlite forw ...
- iOS数据持久化-SQLite数据库使用详解
使用SQLite数据库 创建数据库 创建数据库过程需要3个步骤: 1.使用sqlite3_open函数打开数据库: 2.使用sqlite3_exec函数执行Create Table语句,创建数据库表: ...
- JMeter数据库操作详解
Jmeter提供了JDBC连接的插件,通过执行SQL语句的java API,实现对数据库的访问和查询,同时可以操作一次向数据库插入上百条上千条数据. 一.安装驱动包 将需要连接JDBC的jar包放入j ...
- yii2 数据库操作详解(转载)
开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.php),DSN( Data Source Name ...
- JDBC连接mysql数据库操作详解
1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- SQLite数据库数据类型详解
数据类型 类型 描 述 bit 整型 bit 数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或Fa lse .O ...
- django 数据库操作详解
Django配置使用mysql数据库 修改 settings.py 中的 DATABASES 注意:django框架不会自动帮我们生成mysql数据库,所以我们需要自己去创建. DATABASES ...
- Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
public function getMinLimit () { $sql = "..."; $result = yii::app()->db-& ...
- android 数据库操作详解
请看郭大神的八篇专栏,包含sql语句 android封装的databasehelper 和郭大神自己的LitePal 三种使用详解 http://blog.csdn.net/column/deta ...
随机推荐
- Class path contains multiple SLF4J bindings
[logback不同版本jar包] SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:fi ...
- docker - 容器里安装ssh
docker安装ssh 通过命令行安装 pull ubuntu镜像 docker pull ubuntu:latest 启动并进入bash docker run -it -d ubuntu:laste ...
- asp.net core mvc权限控制:权限控制介绍
在进行业务软件开发的时候,都会涉及到权限控制的问题,asp.net core mvc提供了相关特性. 在具体介绍使用方法前,我们需要先了解几个概念: 1,claim:英文翻译过来是声明的意思,一个cl ...
- 面向UI编程:ui.js 1.1 使用观察者模式完成组件之间数据流转,彻底分离组件之间的耦合,完成组件的高内聚
开头想明确一些概念,因为有些概念不明确会导致很多问题,比如你写这个框架为什么不去解决啥啥啥的问题,哎,心累. 什么是框架? 百度的解释:框架(Framework)是整个或部分系统的可重用设计,表现为一 ...
- hive取数时如果遇到这种报错
如果你hive取数时遇到这种报错:ParseException line 1:78 cannot recognize input near '<EOF>' '<EOF>' '& ...
- 【CNMP系列】CentOS7.0下安装MySql5.6服务
接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MyS ...
- 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
两款[linux字符界面下]显示[菜单],[选项]的powershell脚本模块介绍 powershell linux ps1 menu choice Multiselect 传教士 菜单 powe ...
- C#计算表达式(仿计算器功能)
一.用MSScriptControl在C#中执行JavaScript代码javascript中有个eval方法用过的人都知道他的方便和强大之处.在C#中,我们也可以通过Com组件来执行一段javasc ...
- WebSite---前台系统图片验证码心得
背景: 因为移动端APP和Msite手机注册发送短信验证码没有添加图片验证码功能.公司的短信接口被恶意刷取.所以我们就觉得在移动端添加一个图片验证码功能.分享一下大体实现方式思路.PS demo是自己 ...
- iOS 原生的 UIButton 点击事件是不允许带多参数的,唯一的一个参数就是默认UIButton本身 那么我们该怎么实现传递多个参数的点击事件呢?
UIButton *btn = // create the button objc_setAssociatedObject(btn, "firstObject", someObje ...