如何从c#动态运行SQL Server CE[Windows mobile]中的SQL脚本文件?
我有一个Windows mobile 6应用程序,它使用SQL Server CE 3.5。。。 因此,在将CAB安装到设备中时,它将创建一个名为如何从c#动态运行SQL Server CE[Windows mobile]中的SQL脚本文件?,c#,sql-server,deployment,windows-mobile,sql-server-ce,C#,Sql Server,Deployment,Windows Mobile,Sql Server Ce,我有一个Windows mobile 6应用程序,它使用SQL Server CE 3.5。。。 因此,在将CAB安装到设备中时,它将创建一个名为TestDB.sdf的数据库 现在,当应用程序更改了一些功能并添加了一些列/删除了一些列/在SQL Server CE DB中创建了新表,并最终部署了CAB时 这次CAB文件将上传到服务器,从服务器上检查所有移动设备的新版本,并在设备上安装新版本 此时,应用程序本身将备份其本地数据库[其中包含许多有价值的数据],并安装新版本的fresh db,同时更改
TestDB.sdf
的数据库
现在,当应用程序更改了一些功能并添加了一些列/删除了一些列/在SQL Server CE DB中创建了新表,并最终部署了CAB时
这次CAB文件将上传到服务器,从服务器上检查所有移动设备的新版本,并在设备上安装新版本
此时,应用程序本身将备份其本地数据库[其中包含许多有价值的数据],并安装新版本的fresh db,同时更改所有表
安装后,应用程序本身将用之前备份的数据库替换新数据库
此时,我们将丢失具有数据库更改的新数据库
所以,为了解决这个问题
我是否可以将脚本文件[其中包含用于新建/更改列的所有ALTER
语句和用于新建表的Create Table
语句]连同CAB文件一起传递给设备,并逐个执行脚本文件
我该怎么做
请在这方面帮助我….我不知道更新或安装是如何工作的,但你不能在收到sql更新文件后向数据库发出ADO.NET语句吗?thnx以获得答复…不,应用程序可以通过使用一些逻辑(如在数据库中检查某些版本号)下载服务器中可用的新版本。但是,如果我们将sql脚本文件下载到设备上,我将在Db中将列“isDBChangeExist”设置为“True”。通过选中此项,我希望执行脚本文件…但是sql server ce不支持批查询执行…因此我如何才能做到这一点…请在此查看:要查看如何在sql server上执行批脚本文件,它只是用GO命令拆分文件,并分别运行每个语句。如何添加脚本作为应用程序资源嵌入,以从资源中检索脚本…或者我可以将.sql文件添加为带有CAB文件的资源文件…并从c中读取和执行此文件?与普通文件读取一样?添加带有sql命令的文本文件作为对于您的解决方案,只需验证sql语法即可。继续像读取普通文件一样读取它。