我目前正在研究一個小項目,它根據條件從'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