2011-11-04 53 views
1

好吧,背景:的Windows Phone 7.1(芒果DEV) - 代码 - 首先从分隔文本创建SQL CE

我有一个应用程序,它有一个本地只读参考数据库(可以称之为“包含在源代码中的“local.sdf”)。现在,用户将接触到一个网站(称为“http:\ www.websiteImGettingTxtFrom.txt”),这是一个管道分隔的.txt文件的来源,用于更新单独的本地数据库(“webdata.sdf”)实体将直接与local.sdf中的实体相对应。理想情况下,如果应用程序在app_launch/app_load /每当用户按下“更新”按钮时创建/更新webdata.sdf,这将是最简单的。因此,如何创建/更新上述的webdata.sdf in-code严格来自管道分隔txt(记住这个数据库将有超过20,000个实体,我相信每个属性有7个)?

这里就是我拉管道分隔文本的〔实施例:

|ColumnName1|ColumnName2|ColumnName3|ColumnName4 
|Entity|Value1|Value2|Value3 
|Entity2|Value1|Value2|Value3 
|Entity3|Value1|Value2|Value3 

我知道该怎么做了大规模的清除,但填充是真正的问题。此外,有没有一个流程精简版的方式来做到这一切的背景(防止应用程序崩溃的DB如果应用程序负载时关闭)

感谢, rapterj

回答

0

可以包括webdata.sdf将空表作为资源,并在启动时复制到独立存储(如果它尚不存在)(由SQL Server Compact Toolbox生成的DataContext为您提供了可为您执行此操作的CreateDataIfExists方法)。

对于插入,批量这些在appropiate批次调用的SubmitChanges(你需要做一些测试)

+0

好吧,我得到的CreateDataIfExists一部分,但是让我们假设一分钟,我对如何extremmely知识有限来处理SQL CE数据库,并且完全不知道如何正确“批量”分隔文本到数据库中(特别是以一种允许我检查数据库上次更新的日期的方式,以便如果它在同一天,则不会做大规模的更新(这可能是一个非常耗时的过程,消耗大量的删除/质量插入))...你有代码示例吗? – rapterj