使用我不能算一个目录中的文件数量的DirectoryInfo和的FileInfoC#文件信息
我曾尝试没有成功这个代码,因为我没有错误,但可以” t在gridview中显示。
我的代码如下。
你能帮我吗?
预先感谢您的任何帮助,真的很感激。
public DataTable getAllFiles()
{
DataTable dt = new DataTable();
sql = @String.Format(" SELECT * FROM doTable ;");
using (OdbcConnection cn =
new OdbcConnection(ConfigurationManager.ConnectionStrings["ConnMySQL"].ConnectionString))
{
using (OdbcCommand cmd =
new OdbcCommand(sql, cn))
{
try
{
cmd.Connection.Open();
using (OdbcDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
dt.Columns.Add("Nr of Files in directory");
while (reader.Read())
{
FilePath = Server.MapPath("/aspnet/" + reader["sFolder"].ToString().Replace('/', '\\'));
Response.Write(FilePath);
DirectoryInfo directory = new DirectoryInfo(@FilePath);
DirectoryInfo[] subDirectories = directory.GetDirectories();
FileInfo[] files = directory.GetFiles();
foreach (DirectoryInfo dirInfo in subDirectories)
{
int nrFiles = Directory.EnumerateFiles(dirInfo.FullName, "*.*", SearchOption.AllDirectories).Count();
Response.Write(nrFiles.ToString() + "<br />");
//Here the output is correct//
foreach (FileInfo f in files)
{
DataRow dr = dt.NewRow();
dr[0] = nrFiles.ToString();
}
gvDownload.DataSource = subDirectories;
gvDownload.DataBind();
}
}
}
}
}
catch (Exception ex)
{
throw new ApplicationException("operation failed!", ex);
}
finally
{
cmd.Connection.Close();
}
}
}
return dt;
}
#Edit 01
我需要显示在GridView控件上子目录的NR文件,现在是空的:
你能解释一下你正在尝试做什么? – alexay68
@ alexay68谢谢你的回复。我尝试在我的服务器上的一个目录中的gridview文件夹,子文件夹和文件中显示。在DB中,我记住了列sFolder这个字符串控制/ Imp/foo –