【WP7进阶】伪数据实现之创建数据库(一)

作者:杨海龙
    Andorid  大家都很清楚,它使用的是轻巧、小型的数据库 Sqlite  。而 Windows Phone 7 到目前为止我还没有发现它可以使用数据库为自己的应用程序做数据存储的功能。如果碰到要存取比较多的数据时,很明显独立存储空间  IsolatedStorage  就有点力不从心了。
    第一篇将介绍如何使用利用 IsolatedStorage  的特性伪实现创建数据库和判断数据库是否存在。
创建数据库
  由于该开源类库是利用 IsolatedStorage  的基础封装的一个数据操作,创建数据库也是遵循了它的使用方法,只是该作者将其封装在了内部,看起来就跟我们实现使用关系型数据库差不多,具体创建数据库代码为:
  ///  <summary>
        ///  创建数据库
        ///  </summary>
private  void  CreateDBTest()
   {
     var name = Guid.NewGuid().ToString();  // 使用 Guid  得到一个 name
      if  (Database.CreateDatabase(name) !=  null )   // 创建数据库
      {
        this .CreateDatabaseTestLabel.Foreground =  new  SolidColorBrush(Colors.Green);
      }
       else
      {
        this .CreateDatabaseTestLabel.Foreground =  new  SolidColorBrush(Colors.Red);
      }
       Database.DeleteDatabase(name);  // 通过上面 Guid  生成的名称删除数据库
      }
如上代码,调用 Database.CreateDatabase  是使用它的构造函数 private Database(string databaseName, string password, bool useLazyLoading)
参数一:数据库名称,参数二:数据库密码,上面的代码不给密码则为空,参数三:是否允许延迟加载。


 
lihe
帖子 : 28
加入日期 : 2010.09.14 14:17 GMT+8
地点 : 中国

【WP7进阶】伪数据实现之创建数据库(一)
发表在 2011.03.02 11:03 GMT+8
判断数据库是否存在
  如果你创建了一个数据库,那么你就会想看看我们刚才创建的数据库是否存在。 Android  可以通过  DDMS 查看,而此开源类库是使用的 IsolatedStorage 。大家都知道微软是不允许让开发者查看 IsolatedStorage  文件的。 ---“ 虽然有一款工具叫 IsolatedStorage Explorer  ,可以查看 IsolatedStorage  文件 ” ,在这里先不谈。要查这个数据库是否己经创建完成,就要使用下面的代码了:
///  <summary>
       ///  验证数据库是否存在
       ///  </summary>
  private  void  DatabaseExists()
    {
      var name = Guid.NewGuid().ToString(); // 使用 Guid  得到一个 name
       if  (Database.DoesDatabaseExists(name) ==  false )
       {
         var db = Database.CreateDatabase(name);   // 创建数据库返回一个 DataBase 对象  
         db.Save();   // 调用 IsolatedStorage 保存
          if  (Database.DoesDatabaseExists(name) ==  true )  // 根据名称查询如果存在即返回真
          {
            this .DatabaseExistsLabel.Foreground =  new  SolidColorBrush(Colors.Green);
          }
           else
          {
            this .DatabaseExistsLabel.Foreground =  new  SolidColorBrush(Colors.Red);
          }
            }
             else
            {
              this .DatabaseExistsLabel.Foreground =  new  SolidColorBrush(Colors.Red);
            }
            Database.DeleteDatabase(name);// 通过上面 Guid  生成的名称删除数据库
        }
  其中该验证数据库是否存在的代码为:
   public  static  bool  DoesDatabaseExists( string  databaseName)
        {
          bool  returnValue =  false ;
          using  (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
            {
                 string [] files = store.GetFileNames();
                 if  (files !=  null  && files.Length >  0  && files[ 0 ] !=  null )
                {
                    returnValue = (from aFile  in  files
                                    where  aFile == databaseName
                                   select aFile).Any();
                }
            }
             return  returnValue;
        }
  代码简单,有写 IsolatedStorage 经验的朋友,相信一看便明白。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值