У меня есть запрос, который дает более 500 строк, и я заказал их в соответствии с определенным столбцом, скажем, Имя, и я пишу результат в текстовом файле. Я хочу добавить запись перерыва после последней строки каждой группы. Например мой результат запроса:Вставка строки после определенного значения - C#
Name Address City State Zip Phone Break
AAA BBB CCC SS 1234 555
AAA DDD EEE SS 1234 666
MMM YYY ZZZ EE 4457 999
LLL DDD ooo WW 7895 777
Но я хочу, чтобы добавить дополнительную строку и добавить «Да» в качестве значения Перерыв в текстовом файле:
Name Address City State Zip Phone Break
AAA BBB CCC SS 1234 555
AAA DDD EEE SS 1234 666
YES
MMM YYY ZZZ EE 4457 999
YES
LLL DDD ooo WW 7895 777
YES
Мой код:
string query = " select * from table order by name";
SqlDataReader reader;
string connStr = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
string strDelimiter = "\t";
string strDel = "\"";
string strFilePath = @"C:\" TextFile_" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
StringBuilder sb = new StringBuilder();
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (reader = new SqlCommand(query, conn).ExecuteReader())
{
for (int i = 0; i < reader.FieldCount; i++)
{
sb.Append(strDel);
sb.Append(reader.GetName(i));
sb.Append(strDel);
if (i == reader.FieldCount - 1)
{
continue;
}
sb.Append(strDelimiter);
}
sb.Append(Environment.NewLine);
if (reader.HasRows)
{
Object[] items = new Object[reader.FieldCount];
while (reader.Read())
{
reader.GetValues(items);
for (int i = 0; i < reader.FieldCount; i++)
{
sb.Append(strDel);
sb.Append(reader.GetValue(i).ToString());
sb.Append(strDel);
if (i == reader.FieldCount - 1)
{
continue;
}
sb.Append(strDelimiter);
}
sb.Append(Environment.NewLine);
}
}
}
conn.Close();
File.WriteAllText(strFilePath, sb.ToString());
}
Делитесь своим кодом до сих пор –
Я обновил вопрос с кодом, но это только дает мне все данные, я не могу тонко k - способ добавить строку прерывания после каждой группы –