У меня есть консольное приложение, которое извлекает данные из таблицы SQL в плоский файл. Как я могу получить каждый тип и длину столбца, а затем использовать длину каждого столбца для padright (length), чтобы получить пробелы в конце каждого поля. Вот что я имею прямо сейчас, что не включает эту функциональность.C# Как я могу получить каждый тип столбца и длину, а затем использовать длину для padright, чтобы получить пробелы в конце каждого поля.
Благодаря
{
var destination = args[0];
var command = string.Format("Select * from {0}", Validator.Check(args[1]));
var connectionstring = string.Format("Data Source={0}; Initial Catalog=dbname;Integrated Security=SSPI;", args[2]);
var helper = new SqlHelper(command, CommandType.Text, connectionstring);
using (StreamWriter writer = new StreamWriter(destination))
using (IDataReader reader = helper.ExecuteReader())
{
while (reader.Read())
{
Object[] values = new Object[reader.FieldCount];
int fieldCount = reader.GetValues(values);
for (int i = 0; i < fieldCount; i++)
writer.Write(values[i].ToString().PadRight(513));
writer.WriteLine();
}
writer.Close();
}
Почему бы не использовать значения [i] .ToString(). Длина? – Patko
@Patko, потому что разные строки могут иметь разную длину, и он хочет прокладывать все строки последовательно, но не больше, чем ему действительно нужно? –
@Cade Roux, конечно. Я не знаю, как я этого не видел. Должно быть, немного поспать. – Patko