我现在获取到的是多个的文件名,我想要把这些文件名以逗号隔开 然后存储到数据库的数据表中。
我这个 str 中的文件是获取到了多个的,
var files = GetAllFiles(@"D:\BackPDF");
foreach (var fileInfo in files)
{
for (int j = 0; j < fileInfo.FullName.ToString().Length; j++)
{
var FileName = fileInfo.FullName.IndexOf(@"D:\BackPDF\");
var str = fileInfo.Name;
using (DataContext dataContext = new DataContext())
{
IDbTransaction tr = dataContext.BeginTransaction();
StringBuilder sb = new StringBuilder();
sb.AppendFormat(" UPDATE table SET PrintFileName='{0}' WHERE id='{1}';", str.ToString(), Fdt.Rows[i]["id"].ToString());
IDbExecutor executor = dataContext.CreateExecutor(sb.ToString());
int k = executor.ExecuteNonQuery(null);
if (k> 0)
{
tr.Commit();
}
else
{
tr.Rollback();
}
}
}
获取文件名方法:
public static FileInfo[] GetAllFiles(string path)
{
try
{
var files = new List();
files.AddRange(new DirectoryInfo(path).GetFiles());//获取文件夹下所有文件
var tmpdics = new DirectoryInfo(path).GetDirectories();//获取文件夹下所有子文件夹
foreach (var dic in tmpdics)
{
files.AddRange(GetAllFiles(dic.FullName));//递归获取文件
}
return files.ToArray();
}
catch (Exception)
{
return null;
}
}
把获取到的多个文件名 以逗号隔开然后存储到数据库的数据表中。
var files = GetAllFiles(@"D:\BackPDF");
var names = string.Join(",",files);