WP8中SQLite的安装和使用

刚刚测试了wp8里的sqlite功能,有点小波折,不过一切都还顺利。现在写出来和大家分享一下吧!

 

可以说整个过程分为4步(先新建一个项目再开始以下步骤):

1)在Vs2012中打开工具(tools)里的扩展和更新(extensions and updates)搜索 sqlite for windows phone然后下载安装2)

2)打开工具 ---〉库程序包管理器--->管理器控制台

然后输入 Install-package sqlite-net 回车

等待一会就会提示安装完成

此时应该会有两个新文件:SQLite.cs SQLiteAsync.cs添加到项目里

 

3)到 https://github.com/peterhuene/sqlite-net-wp8 页面中 点击右边下方的download 下载此项目 解压后 在解决方案资源管理器
(一般在右上的那个框,除非你调了)里的解决方案上右键,添加已有项目,把刚下载的项目添加进来,然后添加引用sqlite(引用---〉右键--->添加引用--->解决方案--->sqlite)

4)右键你的项目,然后点击属性,点击右边的生成,在条件编译符号里加上;USE_WP8_NATIVE_SQLITE 使其变为

此时你的sqlite便可以运行了。

 

关于测试代码:

namespace SQLiteTest
{
    public partial class MainPage : PhoneApplicationPage
    {
        private SQLiteConnection mySqlite = null;
        // 构造函数
        public MainPage()
        {
            InitializeComponent();
        }
 
        private void InitializeDB()
        {
            mySqlite = new SQLiteConnection("SQLiteTestDB");
            mySqlite.CreateTable<People>();         
        }
 
        protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
        {
            if (mySqlite != null)
            {
                mySqlite.Close();
            }
            base.OnNavigatingFrom(e);
        }
 
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            InitializeDB();
            RefreshListBox();
            base.OnNavigatedTo(e);
        }
 
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            string name = txbName.Text;
            int age = Int32.Parse(txbAge.Text);
            People people = new People
            {
                Id = Guid.NewGuid().ToString(),
                Name = name,
                Age = age
            };
            mySqlite.BeginTransaction();
            mySqlite.Insert(people);
            mySqlite.Commit();
            RefreshListBox();
        }
 
        private void RefreshListBox()
        {
            List<People> peopleList = mySqlite.Table<People>().ToList<People>();
            lbxDB.ItemsSource = peopleList;
        }
    }
}

和People类

namespace SQLiteTest
{
    public sealed class People
    {
        [PrimaryKey]
        public string Id { setget; }
        public string Name { setget; }
        public int Age { setget; }
 
        public People()
        {
 
        }
 
        public People(string name, int age)
        {
            Name = name;
            Age = age;
        }
    }
}

 

就给大家了。如果有什么问题欢迎讨论!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值