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

realdrizzt 2014-01-08 10:05:14
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\”的一部分。
...全文
4608 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
渃水 2014-01-09
  • 打赏
  • 举报
回复
引用 19 楼 kllxyu 的回复:
[quote=引用 3 楼 yuyang00000 的回复:] if(File.Exist(路径)) { //操作 }
不存在的话记得创建[/quote] 提醒的不错,疏忽了
小猪八Q 2014-01-08
  • 打赏
  • 举报
回复
引用 11 楼 realdrizzt 的回复:
[quote=引用 10 楼 tjusxh 的回复:] string fn = @"D:\\1\" + dir; 或者 string fn = Path.Combine(@"D:\\1\",dir);
值不能为 null。[/quote] 值不能为null,也就是你的dir为null了,仔细判断下吧
BenBenBears 2014-01-08
  • 打赏
  • 举报
回复
调试看一下dir的值。
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
只把第一条记录读取了,后边的都没读?
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
好像是数据库读取问题,没有把所有文件名都读出来,大家帮忙看看哪有毛病啊?
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
引用 10 楼 tjusxh 的回复:
string fn = @"D:\\1\" + dir; 或者 string fn = Path.Combine(@"D:\\1\",dir);
值不能为 null。
tjusxh 2014-01-08
  • 打赏
  • 举报
回复
string fn = @"D:\\1\" + dir; 或者 string fn = Path.Combine(@"D:\\1\",dir);
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
引用 8 楼 lele_nancy 的回复:
string fn = @"D:\1\" + dir;
未能找到路径“D:\1\”的一部分。
lele_nancy 2014-01-08
  • 打赏
  • 举报
回复
string fn = @"D:\1\" + dir;
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
改成
string fn = @"D:\1" + dir;
这样,也报错,未能找到文件“D:\1ReturnWareHouseOut_2926.xml”。
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
引用 5 楼 wpfLove 的回复:
还有要确保dir不为空 在使用时判断string.IsNullOrEmpty(dir);
绝对不是文件名路径问题,dir也有内容
小猪八Q 2014-01-08
  • 打赏
  • 举报
回复
还有要确保dir不为空 在使用时判断string.IsNullOrEmpty(dir);
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
引用 1 楼 lyq8376 的回复:
楼主,看下D盘根目录下有名为1的文件夹吗?
文件夹和文件都有,路径没错
渃水 2014-01-08
  • 打赏
  • 举报
回复
if(File.Exist(路径)) { //操作 }
水猿兵团五哥 2014-01-08
  • 打赏
  • 举报
回复
引用 1 楼 lyq8376 的回复:
楼主,看下D盘根目录下有名为1的文件夹吗?
对的,然用语句判断下是否找到文件夹
  • 打赏
  • 举报
回复
楼主,看下D盘根目录下有名为1的文件夹吗?
realdrizzt 2014-01-08
  • 打赏
  • 举报
回复
算了,已经解决了
OSMeteor 2014-01-08
  • 打赏
  • 举报
回复
引用 3 楼 yuyang00000 的回复:
if(File.Exist(路径)) { //操作 }
不存在的话记得创建
baobeigaohan 2014-01-08
  • 打赏
  • 举报
回复
先确认是本地还是服务器,然后和大家说的问题一致 这个是开发的习惯问题 一定要先判断一下,是否存在才好
dianaly122 2014-01-08
  • 打赏
  • 举报
回复
D:盘下不存在文件夹1,你因该判断一下 public void TrueOrFalse() { if(!Directory.Exists(@"d:\\1")) { Directory.CreateDirectory(@"d:\\1"); } }
加载更多回复(1)

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧