ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Windows Phone开发 >> Windows Phone数据库开发相关操作总结

Windows Phone数据库开发相关操作总结

来源:网络整理     时间:2014-11-19     关键词:

本篇文章主要介绍了"Windows Phone数据库开发相关操作总结",对于Windows Phone开发感兴趣的同学可以参考一下:

Windows Phone数据库开发相关操作总结

1.首先来说下wp对.sqlite数据库的操作支持,从google,百度,codeplex..等等网站找寻到以下方式;

(1)最古老的要数引用第三方Community.CsharpSqlite.WP.dll程序集来使用的(注意:如果你要操作现有存在的.sqlite数据库,而不是自己从头开始创建数据表,添加数据...等,那么你需要在codeplex网站上找到这个源码,进行相应的修改,这样才能够支持使用,不然会碰到很郁闷的"无法打开数据库连接.."之类的错误)

(2)第二种跟第一种有所类似,不过它的封装有所不同C#-SQLiteWP7.Preview1.Release,这个也在Codeplex上面,代码使用跟第一种类似,不过里面的方法有返回DataReader之类的对象,这样方便我们做相应数据读取操作,虽然数据库也是copy到独立存储根目录下的,不过这里的连接字符串有所不同,格式如下:

"Version=数据库版本号,uri=file:你的数据库完整名称"

简单的Code操作流程:

 1 using (SqliteConnection conn = new SqliteConnection("Version=3,uri=file:test.db"))  2  3 {  4  5 conn.Open();  6  7 using (SqliteCommand cmd = conn.CreateCommand())  8  9 { 10 11 cmd.CommandText = "sql语句"; 12 13 cmd.ExecuteNonQuery(); 14 15 16 17 cmd.Transaction = conn.BeginTransaction(); 18 19 //sql语句加入参数 20 cmd.CommandText = "INSERT INTO test(col, col2, col3, col4, col5) VALUES(@col, @col2, @col3, @col4, @col5);SELECT last_insert_rowid();"; 21 22 cmd.Parameters.Add("@col", null); 23 24 cmd.Parameters.Add("@col2", null); 25 26 cmd.Parameters.Add("@col3", null); 27 28 cmd.Parameters.Add("@col4", null); 29 30 cmd.Parameters.Add("@col5", null); 31 32 cmd.Transaction.Commit(); 33 34 cmd.Transaction = null;
View Code

(3)如果自己不想改Community.CsharpSqlite.WP这个源码的话,那就在网上找找Vici.CoolStorage.WP7和Vici.Core.WP7这两个程序集,个人感觉这个方式,代码操作简单,性能较第一种好些许;

 1 //注意:先往项目添加Vici.CoolStorage.WP7.dll和Vici.Core.WP7.dll   2 string fn = "MNSECRET.DB";//您的数据库名称,注意放在项目根目录下,且设置生成操作为Resource,不复制  3 Assembly assem = Assembly.GetExecutingAssembly();  4 string assemeblyName=assem.FullName.Substring(0, assem.FullName.IndexOf(','));  5 Uri dbURi= new Uri("/" + assemeblyName + ";component/" + fn,  6       UriKind.Relative);  7 //程序第一次运行把SQLite数据库Copy到本地存储  8 StreamResourceInfo sr = Application.GetResourceStream(dbURi);  9 IsolatedStorageFile iStorage = IsolatedStorageFile.GetUserStoreForApplication(); 10 if (!iStorage.FileExists(fn)) 11  { 12 using (var outputStream = iStorage.OpenFile(fn, FileMode.CreateNew)) 13  { 14 byte[] buffer = new byte[10000]; 15 for (; ; ) 16  { 17 int read = sr.Stream.Read(buffer, 0, buffer.Length); 18 19 if (read <= 0) 20 break; 21 22 outputStream.Write(buffer, 0, read); 23  } 24  } 25  } 26 //连接数据库 27  CSConfig.SetDB(fn); 28 //数据操作 29 CSGenericRecordList cslis = CSDatabase.RunQuery("SELECT* FROM CITY");//可以理解为返回一个表格 30 foreach (CSGenericRecord cs in cslis) 31  { 32 //取表中的每一行数据 33 string result= cs["数据表字段名"].ToString(); 34 35 }
View Code

关于CSDatabase里面的操作方法,大家可以到http://viciproject.com/wiki/Projects/CoolStorage/WindowsPhone这个网站去看看,可能我使用的有些许性能耗损,请大家一起探讨学习

2.第三方.sqlite数据库性能有点问题,这时候就需要用到自带的.sdf数据库了,这里推荐Vs插件SQL Server Compact Toolbox,它可以创建3.5和4.0版本的数据库,注意Wp貌似支持3.5的,之前我用4.0的,结果悲剧了,后来还是靠SQL Server Compact Toolbox重新创建3.5的,导入数据啥的(建议一张张表导入数据,不然Vs会卡死),利用这个工具我们还可以创建表映射的业务对象和数据上下文啥的,大家一起摸索吧

3.最后附上一个之前大学时代做过的wp7.5应用:http://www.windowsphone.com/zh-cn/store/app/%E6%81%B6%E9%AD%94%E6%9E%9C%E5%AE%9E%E5%9B%BE%E9%89%B4/9a491e8f-29b4-499b-a24b-81e3484eb404  大家多多吐槽哈!!!


以上就介绍了Windows Phone数据库开发相关操作总结,包括了方面的内容,希望对Windows Phone开发有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_94203.html

相关图片

相关文章