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 ...
随机推荐
- 第七届蓝桥杯javaB组真题解析-生日蜡烛(第二题)
题目 /* 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始 ...
- 使用php实现网站验证码功能【博主推荐】
验证码是网站常用的一项安全措施,也是新人站长较难掌握的一项技能,这里我向大家介绍一简单有效的验证码实现方法. 开始之前 在正式开始之前我们需要打开php的gd2图形库支持(在php. ...
- BOM之history对象(转)
前面的话 history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起.由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后 ...
- python之列表对象
1. 获取列表中的某个值 描述:获取下标所对应的值 语法: print(li[0]) #[取索引值] 样例: li = list(['a','b','c']) val=(li[0]) #获取下标所对应 ...
- CSS之浏览器默认样式设置
今天自己写css样式时,其中用到了<ul>标签,设置了一系列效果后运行,发现位置与设置有出入.chrome上打开检查项,发现<ul>标签的styles底部多了以下一段: ul, ...
- cli/php.ini和fpm/php.ini的区别
1. 当从命令行执行PHP binary时,cli/php.ini会被使用,你可以通过在命令行运行php --ini来查看. 2. 当PHP运行做为FPM时,会使用fpm/phh.ini,其中一种情况 ...
- linux挂载本地windows分区或目录
linux挂载本地windows分区或目录 一.linux挂载本地windows硬盘分区 向虚拟机Centos添加本地windows硬盘 注:(添加物理硬盘后,在centos操作会直接写入本地硬盘) ...
- nodejs 代码设计模式1:同步函数变异步
同步函数变异步 1 问题: 1.1 碰到需要调用你刚正在创建的对像. function createServer(data, cb) { data.num = 1; cb(); return data ...
- react搭配amazeui环境搭建
1.安装node https://nodejs.org/en/download/ 查看node npm版本 2.安装react 创建新的react单页面应用 npm install -g cre ...
- linux-网络数据包抓取-tcpdump
用法格式: tcpdump [-i 网卡] [选项] '表达式' 选项说明如下: -i:interface 监听的网卡. -nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和 ...