我目前正在研究一个小项目,它根据条件从'txt'文件返回文本,然后在将它导出到数据库之前进行分组。在文本文件中,我有:用C#中的文本文件对数据进行分组
C:\测试\ 123
其他线路...
C:\测试\ 124
问题: “错误的说明”。 (这个错误是针对目录124的)
问题:“错误描述”。 (此错误是目录124)
C:\测试\ 125
...
我想组“问题”,以及其相关的目录其导入到数据库时。到目前为止,我已经尝试使用'foreach'来返回行所在的行/开头的目录或问题。尽管这会传递值,但用户不清楚问题属于哪个目录。理想的情况是我后:
目录(列1)问题(列2)
C:\测试\ 123 || Null
c:\ test \ 124 ||问题:“错误描述”。
c:\ test \ 124 ||问题:“错误描述”。
c:\ test \ 125 ||空
任何帮助,你可以给予将不胜感激。上周我一直在绞尽脑汁!
(当前代码)
var lines = File.ReadAllLines(filename);
foreach (var line in File.ReadLines(filename))
{
String stringTest = line;
if (stringTest.Contains(directory))
{
String test = stringTest;
var csb = new SqlConnectionStringBuilder();
csb.DataSource = host;
csb.InitialCatalog = catalog;
csb.UserID = user;
csb.Password = pass;
using (var sc = new SqlConnection(csb.ConnectionString))
using (var cmd = sc.CreateCommand())
{
sc.Open();
cmd.CommandText = "DELETE FROM table";
cmd.CommandText = "INSERT INTO table (ID, Directory) values (NEWID(), @val)";
cmd.Parameters.AddWithValue("@VAL", test);
cmd.ExecuteNonQuery();
sc.Close();
}
}
if (stringTest.Contains(problem))
{
同为问题....
因此,您只考虑以“问题”开头的行吗? –
我是的。文件中还有其他行,但我专注于在每个目录条目后返回问题行。 – Floyd
发布你现在使用的代码会很有用,可以节省其他时间来提示你已经试过并丢弃的东西。 – Tim