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

    技术2022-05-19  18

    作者:杨海龙    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)