Входной массив длиннее столбцов в этой таблице.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Входной массив длиннее столбцов в этой таблице.

Сообщение Anonymous »

У меня есть csv_log_reader:

Код: Выделить всё

DataTable csvData = new DataTable();

try
{
using (TextFieldParser csvReader = new TextFieldParser(csv_file_path))
{
csvReader.SetDelimiters(new string[] { "," });
csvReader.HasFieldsEnclosedInQuotes = true;

string[] colFields = csvReader.ReadFields();

foreach (string column in colFields)
{
DataColumn datecolumn = new DataColumn(column);
datecolumn.AllowDBNull = true;
csvData.Columns.Add(datecolumn);
}

while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();

// Making empty value as null.
for (int i = 0; i < fieldData.Length; i++)
{
if (fieldData[i] == "")
{
fieldData[i] = null;
}
}

csvData.Rows.Add(fieldData);
}
}
}

catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

return csvData;
Для первого файла CSV у меня есть 9 заголовков. Для второго файла CSV у меня есть 10 заголовков, но 10-й заголовок имеет значение null. Для второго файла выдается исключение:


Входной массив длиннее, чем количество столбцов в этой таблице.


Я хочу, чтобы значение 10-го заголовка было нулевым. Как мне сделать это только для 10-го заголовка?

Подробнее здесь: https://stackoverflow.com/questions/225 ... this-table
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»