SQLite on Windows Phone 7
2010-07-04 17:30
369 查看
SQLite是一个轻量级的、快速的、嵌入式数据库,开源,官方主页是http://www.sqlite.org/index.html,从诞生起就吸引了很多开发人员的关注。其拥有各大技术阵营的分支,也赢得了部分IT巨头的青睐,是快速开发的利器。尤其在移动领域,SQLite的优势愈加明显,Symbian、Android甚至iPhone上都可以完美的运行SQLite,但是Windows Phone 7发布时,却缺失了对本地数据库的支持。现在Windows Phone 7的最新版本是2010 April Refresh,只能使用临时存储区、XML或Cloud来存取数据,实在让人郁闷。前两天SQL CE 4发布了,且支持ASP.NET,希望以后能用于Windows Phone 7吧。
虽然缺少官方支持,但是国外有人改写了C# SQLite,使之能在Windows Phone 7上运行,可以在这里查看。(需要FQ)我测试了一下,还不错,有点小问题。此外,CodePlex上有人发布了全部由临时存储区操作的Windows Phone 7 DB项目,支持No-SQL操作,挺好的,感兴趣的朋友可以试试。本次我们来试试在Windows Phone 7上操作SQLite。
测试代码下载
测试环境:
Windows Server 2008 R2 DataCenter
Visual Studio 2010 Ultimate
Windows Phone 7 Develop Tools 2010 April Refresh
C# SQLite WP
1、建立一个Silverlight for Windows Phone 的项目:
代码
我没有找到用绝对路径创建数据库的方法,以及打开现有的数据库的方法,若有朋友知道,请指点一下。
这里输入密码时有点小问题,可能由于延迟,造成密码的字符先显示了一下,然后才会变成“*”。
本项目仅仅为了测试,只做了最基本的非空验证。
5、小结
尽管Windows Phone 7现在对本地数据库的支持还不是很好,但是鉴于其在微软移动战略中的重要地位,等正式版发布后肯定会有所改善,可能是SQL CE 4,或者新的本地数据库,到时也一定会有第三方解决方案的。现在Windows Phone 7的UI控件有点匮乏,连GridView都没有,希望能再改善吧。本次的测试代码很简单,主要是SQLite中的相关操作,看看文档示例即可以入门。SQLite的功能远不如此,感兴趣的朋友可以再深入挖掘。
虽然缺少官方支持,但是国外有人改写了C# SQLite,使之能在Windows Phone 7上运行,可以在这里查看。(需要FQ)我测试了一下,还不错,有点小问题。此外,CodePlex上有人发布了全部由临时存储区操作的Windows Phone 7 DB项目,支持No-SQL操作,挺好的,感兴趣的朋友可以试试。本次我们来试试在Windows Phone 7上操作SQLite。
测试代码下载
测试环境:
Windows Server 2008 R2 DataCenter
Visual Studio 2010 Ultimate
Windows Phone 7 Develop Tools 2010 April Refresh
C# SQLite WP
1、建立一个Silverlight for Windows Phone 的项目:
代码
private string _strDB = @"Test.db3"; private void fn添加用户() { string msg = string.Empty; Sqlite3.sqlite3 db = new Sqlite3.sqlite3(); int rc = Sqlite3.sqlite3_open(this._strDB, ref db); if (rc == Sqlite3.SQLITE_OK) { string sql1 = @"CREATE TABLE Users ( UserName VARCHAR(20) PRIMARY KEY, UserPass VARCHAR(50), Email VARCHAR(50) )"; Sqlite3.sqlite3_exec(db, sql1, (Sqlite3.dxCallback)this.callback, null, ref msg); string sql2 = @"INSERT INTO Users(UserName, UserPass, Email) VALUES('" + this.txtUserName.Text + @"', '" + this.txtUserPass.Password + @"', '" + this.txtEmail.Text + @"')"; int result = Sqlite3.sqlite3_exec(db, sql2, (Sqlite3.dxCallback)this.callback, null, ref msg); if (result == Sqlite3.SQLITE_OK) { System.Windows.MessageBox.Show("Success!", "Add User", MessageBoxButton.OK); } else { System.Windows.MessageBox.Show("Error!", "Add User", MessageBoxButton.OK); } } }
我没有找到用绝对路径创建数据库的方法,以及打开现有的数据库的方法,若有朋友知道,请指点一下。
这里输入密码时有点小问题,可能由于延迟,造成密码的字符先显示了一下,然后才会变成“*”。
本项目仅仅为了测试,只做了最基本的非空验证。
5、小结
尽管Windows Phone 7现在对本地数据库的支持还不是很好,但是鉴于其在微软移动战略中的重要地位,等正式版发布后肯定会有所改善,可能是SQL CE 4,或者新的本地数据库,到时也一定会有第三方解决方案的。现在Windows Phone 7的UI控件有点匮乏,连GridView都没有,希望能再改善吧。本次的测试代码很简单,主要是SQLite中的相关操作,看看文档示例即可以入门。SQLite的功能远不如此,感兴趣的朋友可以再深入挖掘。
相关文章推荐
- Native code on Windows Phone 8(转)
- Making a Voice Recorder on Windows Phone
- How to work around a possible XNA Game Studio or Windows Phone SDK install failure on Windows 8
- Sqlite Client for Windows Phone
- 鉴于本人的经验,我不推荐使用sqlite for wp. Windows Phone(二) WP7数据库连接(SQLite数据库) 转:http://www.cnblogs.com/ry123/archive/2012/05/31/2528281.html
- Making a Voice Recorder on Windows Phone
- SQLite1 Install SQLite on windows
- 转载:The IE Mobile Viewport on Windows Phone 7
- Using Images as Buttons on Windows Phone 7
- windows phone sqlite unrecognized token:"'大"
- Team Project Proposal: Swipe Puzzle on Windows Phone
- Install SQLite On Windows
- windows phone:Making a Voice Recorder on Windows Phone
- Developing on Windows Phone 8 Devices
- using sqlite in windows phone 7/successful to deal with the problem in wp to use like select chinese character
- HTML5 On Windows Phone (1) windows phone 浏览器原生支持
- HTML5 On Windows Phone (2) windows phone mango上使用HTML5并与HTML5交互
- Appointment over SMS on Windows Mobile
- How to install Node.js and NPM on Windows
- Start with PJSIP on windows -----pjsip-2.2.1