原文出自: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数据库操作详解的更多相关文章

  1. windows phone 8.1开发SQlite数据库引用安装

    原文出自:http://www.bcmeng.com/windows-phone-sqlite/ windows phone 8.1开发SQlite数据库引用安装 第一步: 安装SQlite forw ...

  2. iOS数据持久化-SQLite数据库使用详解

    使用SQLite数据库 创建数据库 创建数据库过程需要3个步骤: 1.使用sqlite3_open函数打开数据库: 2.使用sqlite3_exec函数执行Create Table语句,创建数据库表: ...

  3. JMeter数据库操作详解

    Jmeter提供了JDBC连接的插件,通过执行SQL语句的java API,实现对数据库的访问和查询,同时可以操作一次向数据库插入上百条上千条数据. 一.安装驱动包 将需要连接JDBC的jar包放入j ...

  4. yii2 数据库操作详解(转载)

    开始使用数据库首先需要配置数据库连接组件,通过添加 db 组件到应用配置实现("基础的" Web 应用是 config/web.php),DSN( Data Source Name ...

  5. JDBC连接mysql数据库操作详解

    1.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  6. SQLite数据库数据类型详解

    数据类型 类型 描             述 bit 整型 bit 数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或Fa lse .O ...

  7. django 数据库操作详解

    Django配置使用mysql数据库 修改 settings.py 中的 DATABASES  注意:django框架不会自动帮我们生成mysql数据库,所以我们需要自己去创建. DATABASES ...

  8. Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']

    public function getMinLimit () {        $sql = "...";        $result = yii::app()->db-& ...

  9. android 数据库操作详解

    请看郭大神的八篇专栏,包含sql语句  android封装的databasehelper 和郭大神自己的LitePal  三种使用详解 http://blog.csdn.net/column/deta ...

随机推荐

  1. libMF阅读记录(一):首先要编译通过

    libMF是林智仁老师开发的一个用于推荐系统的矩阵分解库,下载地址:libMF 测试用的数据集是MovieLen,一个给电影评分的数据集,下载在此:ML 最近在阅读libMF的源代码,并且准备开发其M ...

  2. 如何在sublime中安装使用eslint

    1:首先你需要全局安装eslint npm install -g eslint 安装完成后在控制台 输入 eslint -v 有版本号说明就可以在npm中使用了,可以检查语法的错误处,但还不能在sub ...

  3. mybatis中mapping文件like查询方式

    方式1: select * from person where name like "%"#{name}"%" 方式2: select * from perso ...

  4. java 多线程安全问题-同步代码块

    /* 多线程的安全问题: while(true) { if(tick>0) { //线程0,1,2,3在余票为1时,都停滞在这里,之后分别获得CPU执行权,打印出0,-1,-2等错票 Syste ...

  5. Vuex 模块化与项目实例 (2.0)

    Vuex 强调使用单一状态树,即在一个项目里只有一个 store,这个 store 集中管理了项目中所有的数据以及对数据的操作行为.但是这样带来的问题是 store 可能会非常臃肿庞大不易维护,所以就 ...

  6. java中关于转义字符的一个bug

    在java中,你可以定义 char c = '\u4f60'; char m = '\u0045'; char e = '\u554a'; 这样的字面量,例如: System.out.println( ...

  7. Java变量&&简单程序流程&&循环

    变量:强类型局部变量: 1.先赋值,后使用 2.作用范围:从定义开始,到所在代码块结束 3.重合范围内不允许重复命名 数据类型(8中基本类型) byte 1B -128~127 short 2B -3 ...

  8. Python,datetime模块实例

    Python的标准模块datetime模块,在我们的工作中应用非常频繁,下面对datetime中常用的方法进行了总结和测试:对每一个方法都使用了单元测试框架Unittest来配合测试. 主要的类型有: ...

  9. python数据结构(一)------序列

    数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合:在Python中,最基本的数据结构是序列(sequence),序列中的每个元素被分配一个序列号--即元素的位置,也称为索引. p ...

  10. canvas实例:旋转缩放的方块

    首先在页面中创建一个canvas标签: <body> <canvas id="c1" width="500" height="500 ...