首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除在.sdf中创建的DataDirectory文件

如何删除在.sdf中创建的DataDirectory文件
EN

Stack Overflow用户
提问于 2011-06-01 04:06:44
回答 2查看 1.3K关注 0票数 3

我正在以编程方式创建一个SQL数据库文件,并希望确保每次都要创建一个新的数据库文件,因此我添加了delete方法。因为每个数据库文件都是用DataDirectory创建的,所以我也想在DataDirectory中删除这个文件,但是它给了我

“路径中的非法字符”错误

以下是我的代码:

代码语言:javascript
复制
/* illegal characters in path */
File.Delete("|DataDirectory|\\Foo2Database.sdf");

string connString = @"Data Source=|DataDirectory|\Foo2Database.sdf";
SqlCeEngine engine = new SqlCeEngine(connString);
engine.CreateDatabase();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-01 04:12:53

|DataDirectory|是连接字符串表示法,与文件系统路径无关。

您可以使用如下代码删除该文件:

代码语言:javascript
复制
 var directoryName = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
 var fileName = Path.Combine(directoryName, "Foo2Database.sdf");
 File.Delete(fileName);

如果您设置了当前的DataDirectory,可以通过AppDomain.CurrentDomain.GetData("DataDirectory");获得它。

如果您有asp.net,默认情况下,DataDirectory将是Server.MapPath("~/App_Data");

票数 4
EN

Stack Overflow用户

发布于 2011-06-01 04:11:10

如果应用程序是网络部署的,您可以使用它获取数据目录的路径

代码语言:javascript
复制
System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory

否则,您可以使用这个

代码语言:javascript
复制
System.AppDomain.CurrentDomain.BaseDirectory
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6196152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档