Ошибка при создании колонок в DataGridView1

[введите сюда описание изображения][1]

введите сюда описание изображения

У меня вылетает такая ошибка, не понимаю, вроде все верно, но из-за ошибки я не могу запустить основную форму

System.InvalidCastException: "Заданное приведение является недопустимым."

namespace Lex_Comp_Tech
{
    enum RowState
    {
        Existed,
        New,
        Modified,
        ModifiedNew,
        Deleted
    }
    public partial class MainForm : Form
    {
        private readonly CheckUser _user;
        DataBase dataBase = new DataBase();
        int selectedRow;
        public MainForm(CheckUser user)
        {
            InitializeComponent();
            _user = user;
        }
        
        private void IsAdmin()
        {
            управлениеToolStripMenuItem.Enabled = _user.Role;
            buttonAdd.Enabled = _user.Role;
        }

        private void CreateColums()
        {
            dataGridView1.Columns.Add("ID", "Код техники");
            dataGridView1.Columns.Add("TechName", "Название");
            dataGridView1.Columns.Add("Description", "Описание");
            dataGridView1.Columns.Add("Condition", "Состояние");
            dataGridView1.Columns.Add("DateOfPurchase", "Дата покупки");
            dataGridView1.Columns.Add("Employee", "Сотрудник");
            dataGridView1.Columns.Add("Supplier", "Поставщик");
            dataGridView1.Columns.Add("Availability", "Наличие техники");
            dataGridView1.Columns.Add("Count", "Количество");
        }

        private void ReadSingleRow(DataGridView dgv, IDataRecord record)
        {
            dgv.Rows.Add(record.GetInt32(0), 
                record.GetString(1), 
                record.GetString(2), 
                record.GetString(3), 
                record.GetDateTime(4), 
                record.GetInt32(5), 
                record.GetInt32(6), 
                record.GetString(7), 
                record.GetInt32(8));
        }

        private void RefreshDataGrid(DataGridView dgv)
        {
            string queryString = $"select * from Tech";
            
            SqlCommand command = new SqlCommand(queryString, dataBase.getConnection());
            dataBase.getConnection().Open();
            SqlDataReader reader = command.ExecuteReader();

            while(reader.Read())
            {
                ReadSingleRow(dgv, reader);
            }
            reader.Close();
            dataBase.getConnection().Close();
        }

        private void MainForm_Load(object sender, EventArgs e)
        {
            tlsUserStatus.Text = $"{_user.Login}: {_user.Status}";
            IsAdmin();
            CreateColums();
            RefreshDataGrid(dataGridView1);
        }

На строки с user не обращайте внимания, это я роли настраивал


Ответы (0 шт):