テーブルのデータを SQL Server からテキスト ファイルにエクスポートしています。
最後の列 (ヘッダー + データ) を除くすべての列の後に区切り記号を追加したいのですが、私が書いたコードは最後の列の後にも区切り記号を追加します。
どうすれば防ぐことができますか?
public static void export_to_txt()
{
SqlDataReader reader;
string query = "Select * from tablename";
string connStr = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
string strDelimiter = "\t";
string strFilePath = @"mypath";
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(reader.GetName(i));
sb.Append(strDelimiter);
}
sb.Append(Environment.NewLine);
if (reader.HasRows)
{
Object[] items = new Object[reader.FieldCount];
while (reader.Read())
{
reader.GetValues(items);
foreach (var item in items)
{
sb.Append(item.ToString());
sb.Append(strDelimiter);
}
sb.Append(Environment.NewLine);
}
}
}
conn.Close();
File.WriteAllText(strFilePath, sb.ToString());
}
}