当前位置:编程学习 > C#/ASP.NET >>

获取目录里的文件路径(多个)后需要与表字段比较,如何操作好?

有一个应用需求是取出某个目录里的文件及其各级子目录里的文件的路径,然后一一比对数据表里的某一字段。如果查找到有条记录该字段值含有文件的路径,则不作任何操作,否则将该文件移走。

我是这么设想的
1. 遍历指定文件夹里的所有文件
2. 遍历过程中取出文件的路径,然后和数据库里的数据做比较
3. 符合条件的移动到其他目录

我的问题是,对于遍历文件过程中的比较我该怎么操作好呢?
是不是每一次都去连接数据库然后用
select * from tb where charindex( '文件路径 ',fieldA) > 0 这样的sql语句去判断是否符合条件。不过这种方法会不会很消耗数据库的资源啊(表内有3万+记录),对应目录里的文件也大概有3-4万个。
是否还有其他什么好的处理方法呢? --------------------编程问答-------------------- 这东西倒是很有搞头。

友情顶吧。 --------------------编程问答-------------------- 把数据加到datatable中,然后没找到一个目录,就用datatable的Select方法选一下 --------------------编程问答-------------------- 确实,在遍历里面操作的话,还要去动态的去读取数据库的指定字段比较 --------------------编程问答-------------------- 除了2楼的方法,还有吗? --------------------编程问答-------------------- 提供个思路,把文件夹的路径表与数据库中的数据用linq作下join连接,没join上的就是你要remove掉的路径,下面是copy了一个例子

var query = from c in customers
            join o in orders on c.CustomerId equals o.CustomerId
            where o.OrderId == 2
            select c;
foreach (var customer in query)
{
    Console.WriteLine("Id:{0}, Name:{1}", customer.CustomerId, customer.Name);
}

 

--------------------编程问答-------------------- 可惜linq完全不懂
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,