Ошибка при создании колонок в DataGridView1
[
У меня вылетает такая ошибка, не понимаю, вроде все верно, но из-за ошибки я не могу запустить основную форму
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 не обращайте внимания, это я роли настраивал