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
{
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,你因该判断一下