2016-12-01 5 views
0

Я пытаюсь импортировать данные в свой datagridview. Код, который я до сих пор:Импортировать данные файла txt в datagridview C#

private void loadButton_Click(object sender, EventArgs e) 
{ 
    if (File.Exists(DATA_FILE_NAME)) 
     fileIn = File.OpenText(DATA_FILE_NAME); 
    else 
    { 
     MessageBox.Show(DATA_FILE_NAME + " does not exist", "Abort Execution", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     Application.Exit(); 
    } 
    if (listCountTextBox.ReadInt(out index)) 
     for (int i = 1; i <= index; i++) 
      idList.Add(Int32.Parse(fileIn.ReadLine())); <----- Error here 
     fileIn.Close(); 
     DisplayIDList(displayDGV); 
} 

Формат данных в текстовый файл выглядит следующим образом: «000-0000» и есть 1,240,000 значения. Ошибка говорит: строка ввода не была в правильном формате. Любая помощь будет высоко оценена!

Спасибо!

+1

не представляется возможным преобразовать строку типа 000-0000 в целое - что бы вы достичь путем преобразования значения? – Fruchtzwerg

+0

, если все данные имеют одинаковый формат, вам не нужно использовать 'int32.Parse', просто добавьте строку в' idList', который в этот момент является строкой. Если вы собираетесь хранить данные в таблице, datatype будет 'varchar' или' nvarchar' – MethodMan

+0

также закройте приложение, когда все, что вам нужно сделать, это заменить эту строку в вашем коде 'Application.Exit();' с 'return', он вырвется из метода void. – MethodMan

ответ

1

Как и другие ответы, невозможно преобразовать «000-0000» в int, то есть ошибку.

будет работать, если вы меняете:

idList.Add(Int32.Parse(fileIn.ReadLine().Replace("-",""))); 
//idList.Add(Int32.Parse(fileIn.ReadLine())); <----- Error here 
Смежные вопросы