Задать вопрос
Ответы пользователя по тегу C#
  • Почему столбец не принадлежит таблице?

    @Nulltiton Автор вопроса
    В итоге переделал оба метода таким образом. Первый:
    static public DataTable ColumnsCreating()
            {
                DataTable dataTable = new DataTable("student");
    
                // инициализация массива названий столбцов
                string[] columnHeaders = { "ФИО", "№ зачетной книжки",
                    "Специальность", "1 зачет", "2 зачет", "3 зачет",
                    "4 зачет", "5 зачет", "1 экзамен", "2 экзамен",
                    "3 экзамен", "4 экзамен", "5 экзамен"};
    
                // автоматическое создание столбцов
                for (int i = 0; i < columnHeaders.Length; i++)
                    dataTable.Columns.Add(columnHeaders[i]);
                return dataTable;
            }

    Второй:
    static public DataTable FileToTable()
            {
                try
                {
                    DataTable dt = new DataTable();
                    string[] list;
                    string name = "database.txt";
                    string buffer = "";
    
                    dt = CreatingForm.ColumnsCreating();
    
                    FileStream file = new FileStream(name, FileMode.OpenOrCreate);
                    using (StreamReader streamReader = new StreamReader(file))
                    {
                        while (!streamReader.EndOfStream)
                        {
                            buffer = streamReader.ReadLine();
                            list = buffer.Split(';');
    
                            DataRow row = dt.NewRow();
    
                            for (int i = 0; i < list.Length; i++)
                                row[i] = list[i];
                            
                            dt.Rows.Add(row);
                        }
                        return dt;
                    }               
    
                }
                catch
                {
                    MessageBox.Show("Произошла ошибка при чтении файла");
                    return null;
                }
            }
    Ответ написан
    Комментировать