设为首页 收藏本站
查看: 1158|回复: 0

[经验分享] win8 应用商店程序使用SQLITE数据库

[复制链接]
YunVN网友  发表于 2015-5-21 10:45:52 |阅读模式
  研究WIN8的应用程序商店也有几天了,苦于一直没有找到快速入门的方法,一直纠结于应该先学那一块。
  今天我终于想通了,想想以前在学习WEB开发的时候,也不是样样学会以后再去做的开发,说到底还是要做到哪,学到哪。
  今天我先说说应用商店程序使用SQLLITE。
  翻看MSDN,我发现微软没有提供任何使用SQLITE的示列代码,也没有提供一些API接口。后来在网上百度了一番,终于知道原来WIN8不是原生支持SQLITE的,需要安装一些插件才能使用。参考
1.创建一个metro项目
2.在工具,选择扩展与更新中,选择联机(online),在搜索框内输入sqlite
3.将会发现一个叫做sqlite for window runtime点击安装
4.
DSC0000.png
5.在引用中,选择windows,扩展,把Mircosoft visual c++ runtime package以及sqlite for windows runtime二者勾选上

DSC0001.png
6.点选解决方案,选择属性,配置属性,将平台选择为对应的平台,暂时不支持any cpu

DSC0002.png
7.点击项目,选择管理nuget包(如果没有需要另行安装),在联机中搜索sqlite-net,点击安装

DSC0003.png
8,安装成功后会生成两个文件:SQLite.cs与SQLiteAsync到此完成安装部署
9,把我们下载的SQLITE.DLL拷贝的工程的根路径(下载路径上面的参考路径里面有,我下面也放了一个64位版本的文件)。
下面就是举一个简单的举例进行了解sqlite的使用;(经过试验,这一步是不需要的)
首先:声明一个person类也就是表主键自动增长




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using SQLite;
namespace AppHelloworld
{
public class Person
{
[SQLite.AutoIncrement, SQLite.PrimaryKey]
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
private string _filepath = "";
public Person(string filepath)
{
_filepath = filepath;
}
public Person() { }
public async void Create()
{
SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(_filepath);
await conn.CreateTableAsync();

}
public async void Insert()
{
SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(_filepath);
await conn.InsertAsync(new Person() { FirstName = "liufei", LastName = "Sky" });
}
public async void Select()
{
SQLite.SQLiteAsyncConnection conn = new SQLite.SQLiteAsyncConnection(_filepath);
var query = await conn.Table().ToListAsync();
int i = 0;
foreach (var item in query)
{
//   Debug.WriteLine(string.Format("{0}: {1} {2}", item.Id, item.Name, item.Surname));
            }

}
}
}

  来看看调用



private async void Button_Click(object sender, RoutedEventArgs e)
{
var root = Windows.Storage.ApplicationData.Current.LocalFolder;
var path = await root.CreateFolderAsync("sql", CreationCollisionOption.OpenIfExists);
var filename = await path.CreateFileAsync("people.sqlite", CreationCollisionOption.OpenIfExists);
string filepath = filename.Path;
Person person = new Person(filepath);
//    person.Create();
            person.Insert();
person.Select();
}
  
文件就创建在你的APP的相应的文件夹下面了
  我的是:C:\Users\David Zhu\AppData\Local\Packages\3595c634-cd9f-450c-ac45-0ffa721c77dc_nc6yw4ayk18f8\LocalState\sql
DSC0004.png
  这里需要提一下,就是SQLITE3.DLL不是通过引用放到解决方案里面的,而是直接拷贝到程序的根路径,这和我们以前的开发方式不太一样。另外需要找到你自己计算机匹配的版本。
再附加上我的SQLITE.DLL,方便大家使用 SQLITE.DLL

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69132-1-1.html 上篇帖子: Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的另一解决办法 下篇帖子: 在 Windows Phone 8 应用中使用 SQLite
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表