Windows Phone(二) WP7数据库连接(SQLite数据库) 转:http://www.cnblogs.com/ry123/archive/2012/05/31/2528281.html
本文算是整理,了ArcGIS_Mobile 和 锦燕云 的博文:
地址: http://blog.csdn.net/arcgis_mobile/article/details/7597519
本文是一个简要的WP7数据库连接(SQLite数据库)操作过程,图文并茂,适应各种人士,O(∩_∩)O~...
准备工作: 下载我弄好的压缩包http://115.com/file/an0tifop#SQLite.rar (暂时存在115网盘的,打开链接后直接点 "普通下载" 就OK了)
1. 创建数据库
第一步:新建 Windows Phone应用程序,目标平台选择 wpos 7.1 (我给项目取名为TestSQLite)
第二步:添加压缩包中 Community.CsharpSqlite.WP.dll 的引用:
(引用,单击鼠标右键-->添加引用...)
第三步: 添加四个按钮 : 注意命名(btnOpen 创建并打开数据库 ,btnPopulate 创建表 ,btnClear 清空数据,btnClose,关闭连接)
第四步: 添加对SQLite的引用:
using SQLiteClient;
第五步: 添加SQLite数据库连接变量:
SQLiteConnection mySQLiteDB = null;
public partial class MainPage : PhoneApplicationPage { SQLiteConnection mySQLiteDB = null; // 构造函数 public MainPage() { InitializeComponent(); }
第六步: 给“Open”按钮添加事件,创建并打开数据库:
1 private void btnOpen_Click(object sender, RoutedEventArgs e) 2 3 { 4 5 if (mySQLiteDB == null) 6 7 { 8 9 mySQLiteDB = new SQLiteConnection("TestSQLiteDB"); 10 11 mySQLiteDB.Open(); 12 13 14 15 btnOpen.IsEnabled = false; 16 17 btnClose.IsEnabled = true; 18 19 btnClear.IsEnabled = false; 20 21 btnPopulate.IsEnabled = true; 22 23 } 24 25 }
第七步:创建表,并往表中填充数据:
private void btnPopulate_Click(object sender, RoutedEventArgs e) { //创建表RegisteredStudents,有3个属性:id、姓名、学号 SQLiteCommand cmd = mySQLiteDB.CreateCommand("Create table RegisteredStudents (id int primary key,name text,zipcode numeric(7))"); int i = cmd.ExecuteNonQuery(); int id = 0; string name = "Name" + id; int zipcode = 98000; for (int j = 0; j < 10; j++) { id++; name = "Name" + id; zipcode = 98000 + id; cmd.CommandText = " Insert into RegisteredStudents (id, name, zipcode) values (" + id +",\"" + name + "\"," + zipcode +")"; i = cmd.ExecuteNonQuery(); } btnPopulate.IsEnabled = false; btnClear.IsEnabled = true; }
第八步:清空表中的数据:
private void btnClear_Click(object sender, RoutedEventArgs e) { SQLiteCommand cmd = mySQLiteDB.CreateCommand("drop table RegisteredStudents"); int i = cmd.ExecuteNonQuery(); btnPopulate.IsEnabled = true; btnClear.IsEnabled = false; }
第九步: 断开数据库连接,关闭数据库:
private void btnClose_Click(object sender, RoutedEventArgs e) { if (mySQLiteDB != null) { mySQLiteDB.Dispose(); mySQLiteDB = null; btnOpen.IsEnabled = true; btnPopulate.IsEnabled = false; btnClear.IsEnabled = false; btnClose.IsEnabled = false; } }
运行程序,点击open可以在WP的模拟器的独立存储空间中创建名为“TestSQLiteDB”数据库,点击populate按钮可以为其填充数据,点击clear可以清空数据库中的数据,close关闭数据库连接;
2.获取数据库文件,
第一步: 直接双击 WindowsPhonePowerTools.application 文件,
稍等片刻后出现以下界面, 有三个选项,选择(512M这一项) , 真机就选择第一项,之后点击CONNECT
第二步: 点击CONNECT后:出现以下页面点击BROWSE按钮,选择你创建的这个Windows Phone项目下的xap文件
(既是编译之后,Debug下的xap,例如我的XAP位置: C:\Users\RY\Documents\Visual Studio 2010\Projects\FirstWP\TestSQLite\Bin\Debug)
第三步: 再点击 INSTALL,稍等片刻,这个地方,我2 了一把,以为点击INSTALL就OK 了,
实际上是要点击 :,
之后出现下图:.....O(∩_∩)O哈哈~ 你看到了吧-->TestSQLite,
点开就能看到数据库了...就是这个TestSQLiteDB,点击 GET 按钮, 将这个数据库文件保存到桌面 (注意,如果你还处于调试状态,此时要停止调试,否则会报错,..),
3.操作数据库
安装压缩包中的 SQLiteManagerSetup 工具
安装好后,双击,后点击 Use Demo -->Continue,找到保存在桌面的TestSQLiteDB,打开:
以上,这就是你创建的数据库,现在你可以操作它了....
4. 补充一点SQLite的东东:
1.SQLite数据类型: 无类型(Typelessness) 意味着可以保存任何类型的数据,但最好还是添加上数据类型,这样方便维护.
2. SQL语句:
创建表:
create Students(id int,name text,age int)
插入数据:
insert into Students (id,name,age) values( 3,"EE",23);
insert into Students (id,name,age) values( 4,"AA",24);
insert into Students (id,name,age) values( 5,"VV",25);
数据查询:
SELECT * FROM Students WHERE name = 'EE' ORDER BY id
如果你有什么问题,可以给我留言,O(∩_∩)O谢谢!
欢迎各种砖块, ...O(∩_∩)O哈哈~...