读书人

c#未能找到路径“D:\一\”的一部分

发布时间: 2014-01-12 00:03:16 作者: rapoo

c#未能找到路径“D:\1\”的一部分。

OleDbConnection mycon = null;
try
{
string strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\1.mdb;";
mycon = new OleDbConnection(strcon);
mycon.Open();
//获取文件名列
string sql = "select 文件名 from temp";
OleDbDataAdapter ad = new OleDbDataAdapter(sql, strcon);
DataSet ds = new DataSet();
ad.Fill(ds,"文件名");
string[] filesName = new string[ds.Tables[0].Rows.Count];
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{

filesName[i] = ds.Tables[0].Rows[i]["文件名"].ToString();

foreach (string dir in filesName)//遍历所有文件名
{
string fn = "D:\\1"+ @"\" + dir;
XElement element = XElement.Load(fn);
element.Descendants("DataField").Descendants("Data").ToList().ForEach(item => { item.SetAttributeValue("ToCorpID", "0"); });
element.Save(dir);
}

}

从数据库读取文件名,然后和路径拼接,最后用XElement.Load读出,不过总显示未能找到路径“D:\1\”的一部分。
[解决办法]
楼主,看下D盘根目录下有名为1的文件夹吗?
[解决办法]
引用:
楼主,看下D盘根目录下有名为1的文件夹吗?

对的,然用语句判断下是否找到文件夹
[解决办法]
if(File.Exist(路径))
{
//操作
}
[解决办法]
还有要确保dir不为空
在使用时判断string.IsNullOrEmpty(dir);
[解决办法]
string fn = @"D:\1\" + dir;
[解决办法]
string fn = @"D:\\1\" + dir; 或者
string fn = Path.Combine(@"D:\\1\",dir);
[解决办法]
调试看一下dir的值。
[解决办法]
引用:
Quote: 引用:

string fn = @"D:\\1\" + dir; 或者
string fn = Path.Combine(@"D:\\1\",dir);
值不能为 null。

值不能为null,也就是你的dir为null了,仔细判断下吧
[解决办法]
D:盘下不存在文件夹1,你因该判断一下


public void TrueOrFalse()
{
if(!Directory.Exists(@"d:\\1"))
{
Directory.CreateDirectory(@"d:\\1");
}
}
[解决办法]
先确认是本地还是服务器,然后和大家说的问题一致
这个是开发的习惯问题
一定要先判断一下,是否存在才好
[解决办法]

引用:
if(File.Exist(路径))
{
//操作
}
不存在的话记得创建

读书人网 >C#

热点推荐