C#(winforms)-动态更新DataGridView和数据集

C#(winforms)-动态更新DataGridView和数据集,c#,mysql,.net,database,winforms,C#,Mysql,.net,Database,Winforms,我试图通过控件访问DataGridView。查找以更新数据库,然后刷新它(它的数据源是数据集) 以下是我目前拥有的代码: conn = new MySqlConnection(connStr); conn.Open(); commandInsert = new MySqlCommand(@"INSERT INTO logbook.item (id_type,id_parent,column0001,column0002,colum

我试图通过控件访问DataGridView。查找以更新数据库,然后刷新它(它的数据源是数据集)

以下是我目前拥有的代码:

conn = new MySqlConnection(connStr);
conn.Open();

commandInsert = new MySqlCommand(@"INSERT INTO logbook.item
                                (id_type,id_parent,column0001,column0002,column0003,column0004,column0005,column0006,column0007,column0008,column0009,column0010,column0011,column0012,
                                column0013,column0014,column0015,column0016,column0017,column0018,column0019,column0020,column0021,column0022,column0023,column0024,column0025,
                                column0026,column0027,column0028,column0029,column0030,column0031,column0032,column0033,column0034,column0035,column0036,column0037,column0038,
                                column0039,column0040,column0041,column0042,column0043,column0044,column0045,column0046,column0047,column0048,column0049,column0050)
                                VALUES
                                (@id_type,@id_parent,@column0001,@column0002,@column0003,@column0004,@column0005,@column0006,@column0007,@column0008,@column0009,@column0010,
                                @column0011,@column0012,@column0013,@column0014,@column0015,@column0016,@column0017,@column0018,@column0019,@column0020,@column0021,@column0022,
                                @column0023,@column0024,@column0025,@column0026,@column0027,@column0028,@column0029,@column0030,@column0031,@column0032,@column0033,@column0034,
                                @column0035,@column0036,@column0037,@column0038,@column0039,@column0040,@column0041,@column0042,@column0043,@column0044,@column0045,@column0046,
                                @column0047,@column0048,@column0049,@column0050)", conn);

commandInsert.Parameters.AddWithValue("@id_type", 5);
commandInsert.Parameters.AddWithValue("@id_parent", 2);
commandInsert.Parameters.Add("@column0001", MySqlDbType.LongText, 15, "column0001");
commandInsert.Parameters.Add("@column0002", MySqlDbType.LongText, 15, "column0002");
commandInsert.Parameters.Add("@column0003", MySqlDbType.LongText, 15, "column0003");
commandInsert.Parameters.Add("@column0004", MySqlDbType.LongText, 15, "column0004");
commandInsert.Parameters.Add("@column0005", MySqlDbType.LongText, 15, "column0005");
commandInsert.Parameters.Add("@column0006", MySqlDbType.LongText, 15, "column0006");
commandInsert.Parameters.Add("@column0007", MySqlDbType.LongText, 15, "column0007");
commandInsert.Parameters.Add("@column0008", MySqlDbType.LongText, 15, "column0008");
commandInsert.Parameters.Add("@column0009", MySqlDbType.LongText, 15, "column0009");
commandInsert.Parameters.Add("@column0010", MySqlDbType.LongText, 15, "column0010");
commandInsert.Parameters.Add("@column0011", MySqlDbType.LongText, 15, "column0011");
commandInsert.Parameters.Add("@column0012", MySqlDbType.LongText, 15, "column0012");
commandInsert.Parameters.Add("@column0013", MySqlDbType.LongText, 15, "column0013");
commandInsert.Parameters.Add("@column0014", MySqlDbType.LongText, 15, "column0014");
commandInsert.Parameters.Add("@column0015", MySqlDbType.LongText, 15, "column0015");
commandInsert.Parameters.Add("@column0016", MySqlDbType.LongText, 15, "column0016");
commandInsert.Parameters.Add("@column0017", MySqlDbType.LongText, 15, "column0017");
commandInsert.Parameters.Add("@column0018", MySqlDbType.LongText, 15, "column0018");
commandInsert.Parameters.Add("@column0019", MySqlDbType.LongText, 15, "column0019");
commandInsert.Parameters.Add("@column0020", MySqlDbType.LongText, 15, "column0020");
commandInsert.Parameters.Add("@column0021", MySqlDbType.LongText, 15, "column0021");
commandInsert.Parameters.Add("@column0022", MySqlDbType.LongText, 15, "column0022");
commandInsert.Parameters.Add("@column0023", MySqlDbType.LongText, 15, "column0023");
commandInsert.Parameters.Add("@column0024", MySqlDbType.LongText, 15, "column0024");
commandInsert.Parameters.Add("@column0025", MySqlDbType.LongText, 15, "column0025");
commandInsert.Parameters.Add("@column0026", MySqlDbType.LongText, 15, "column0026");
commandInsert.Parameters.Add("@column0027", MySqlDbType.LongText, 15, "column0027");
commandInsert.Parameters.Add("@column0028", MySqlDbType.LongText, 15, "column0028");
commandInsert.Parameters.Add("@column0029", MySqlDbType.LongText, 15, "column0029");
commandInsert.Parameters.Add("@column0030", MySqlDbType.LongText, 15, "column0030");
commandInsert.Parameters.Add("@column0031", MySqlDbType.LongText, 15, "column0031");
commandInsert.Parameters.Add("@column0032", MySqlDbType.LongText, 15, "column0032");
commandInsert.Parameters.Add("@column0033", MySqlDbType.LongText, 15, "column0033");
commandInsert.Parameters.Add("@column0034", MySqlDbType.LongText, 15, "column0034");
commandInsert.Parameters.Add("@column0035", MySqlDbType.LongText, 15, "column0035");
commandInsert.Parameters.Add("@column0036", MySqlDbType.LongText, 15, "column0036");
commandInsert.Parameters.Add("@column0037", MySqlDbType.LongText, 15, "column0037");
commandInsert.Parameters.Add("@column0038", MySqlDbType.LongText, 15, "column0038");
commandInsert.Parameters.Add("@column0039", MySqlDbType.LongText, 15, "column0039");
commandInsert.Parameters.Add("@column0040", MySqlDbType.LongText, 15, "column0040");
commandInsert.Parameters.Add("@column0041", MySqlDbType.LongText, 15, "column0041");
commandInsert.Parameters.Add("@column0042", MySqlDbType.LongText, 15, "column0042");
commandInsert.Parameters.Add("@column0043", MySqlDbType.LongText, 15, "column0043");
commandInsert.Parameters.Add("@column0044", MySqlDbType.LongText, 15, "column0044");
commandInsert.Parameters.Add("@column0045", MySqlDbType.LongText, 15, "column0045");
commandInsert.Parameters.Add("@column0046", MySqlDbType.LongText, 15, "column0046");
commandInsert.Parameters.Add("@column0047", MySqlDbType.LongText, 15, "column0047");
commandInsert.Parameters.Add("@column0048", MySqlDbType.LongText, 15, "column0048");
commandInsert.Parameters.Add("@column0049", MySqlDbType.LongText, 15, "column0049");
commandInsert.Parameters.Add("@column0050", MySqlDbType.LongText, 15, "column0050");

commandUpdate = new MySqlCommand(@"UPDATE logbook.item
                                SET
                                id_item = @id_item,id_type = @id_type,id_parent = @id_parent,column0001 = @column0001,column0002 = @column0002,column0003 = @column0003,
                                column0004 = @column0004,column0005 = @column0005,column0006 = @column0006,column0007 = @column0007,column0008 = @column0008,column0009 = @column0009,
                                column0010 = @column0010,column0011 = @column0011,column0012 = @column0012,column0013 = @column0013,column0014 = @column0014,column0015 = @column0015,
                                column0016 = @column0016,column0017 = @column0017,column0018 = @column0018,column0019 = @column0019,column0020 = @column0020,column0021 = @column0021,
                                column0022 = @column0022,column0023 = @column0023,column0024 = @column0024,column0025 = @column0025,column0026 = @column0026,column0027 = @column0027,
                                column0028 = @column0028,column0029 = @column0029,column0030 = @column0030,column0031 = @column0031,column0032 = @column0032,column0033 = @column0033,
                                column0034 = @column0034,column0035 = @column0035,column0036 = @column0036,column0037 = @column0037,column0038 = @column0038,column0039 = @column0039,
                                column0040 = @column0040,column0041 = @column0041,column0042 = @column0042,column0043 = @column0043,column0044 = @column0044,column0045 = @column0045,
                                column0046 = @column0046,column0047 = @column0047,column0048 = @column0048,column0049 = @column0049,column0050 = @column0050
                                WHERE id_item = @id_item;", conn);

commandUpdate.Parameters.Add("id_item", MySqlDbType.LongText, 15, "id_item");
commandUpdate.Parameters.Add("@id_type", MySqlDbType.LongText, 15, "id_type");
commandUpdate.Parameters.Add("@id_parent", MySqlDbType.LongText, 15, "id_parent");
commandUpdate.Parameters.Add("@column0001", MySqlDbType.LongText, 15, "column0001");
commandUpdate.Parameters.Add("@column0002", MySqlDbType.LongText, 15, "column0002");
commandUpdate.Parameters.Add("@column0003", MySqlDbType.LongText, 15, "column0003");
commandUpdate.Parameters.Add("@column0004", MySqlDbType.LongText, 15, "column0004");
commandUpdate.Parameters.Add("@column0005", MySqlDbType.LongText, 15, "column0005");
commandUpdate.Parameters.Add("@column0006", MySqlDbType.LongText, 15, "column0006");
commandUpdate.Parameters.Add("@column0007", MySqlDbType.LongText, 15, "column0007");
commandUpdate.Parameters.Add("@column0008", MySqlDbType.LongText, 15, "column0008");
commandUpdate.Parameters.Add("@column0009", MySqlDbType.LongText, 15, "column0009");
commandUpdate.Parameters.Add("@column0010", MySqlDbType.LongText, 15, "column0010");
commandUpdate.Parameters.Add("@column0011", MySqlDbType.LongText, 15, "column0011");
commandUpdate.Parameters.Add("@column0012", MySqlDbType.LongText, 15, "column0012");
commandUpdate.Parameters.Add("@column0013", MySqlDbType.LongText, 15, "column0013");
commandUpdate.Parameters.Add("@column0014", MySqlDbType.LongText, 15, "column0014");
commandUpdate.Parameters.Add("@column0015", MySqlDbType.LongText, 15, "column0015");
commandUpdate.Parameters.Add("@column0016", MySqlDbType.LongText, 15, "column0016");
commandUpdate.Parameters.Add("@column0017", MySqlDbType.LongText, 15, "column0017");
commandUpdate.Parameters.Add("@column0018", MySqlDbType.LongText, 15, "column0018");
commandUpdate.Parameters.Add("@column0019", MySqlDbType.LongText, 15, "column0019");
commandUpdate.Parameters.Add("@column0020", MySqlDbType.LongText, 15, "column0020");
commandUpdate.Parameters.Add("@column0021", MySqlDbType.LongText, 15, "column0021");
commandUpdate.Parameters.Add("@column0022", MySqlDbType.LongText, 15, "column0022");
commandUpdate.Parameters.Add("@column0023", MySqlDbType.LongText, 15, "column0023");
commandUpdate.Parameters.Add("@column0024", MySqlDbType.LongText, 15, "column0024");
commandUpdate.Parameters.Add("@column0025", MySqlDbType.LongText, 15, "column0025");
commandUpdate.Parameters.Add("@column0026", MySqlDbType.LongText, 15, "column0026");
commandUpdate.Parameters.Add("@column0027", MySqlDbType.LongText, 15, "column0027");
commandUpdate.Parameters.Add("@column0028", MySqlDbType.LongText, 15, "column0028");
commandUpdate.Parameters.Add("@column0029", MySqlDbType.LongText, 15, "column0029");
commandUpdate.Parameters.Add("@column0030", MySqlDbType.LongText, 15, "column0030");
commandUpdate.Parameters.Add("@column0031", MySqlDbType.LongText, 15, "column0031");
commandUpdate.Parameters.Add("@column0032", MySqlDbType.LongText, 15, "column0032");
commandUpdate.Parameters.Add("@column0033", MySqlDbType.LongText, 15, "column0033");
commandUpdate.Parameters.Add("@column0034", MySqlDbType.LongText, 15, "column0034");
commandUpdate.Parameters.Add("@column0035", MySqlDbType.LongText, 15, "column0035");
commandUpdate.Parameters.Add("@column0036", MySqlDbType.LongText, 15, "column0036");
commandUpdate.Parameters.Add("@column0037", MySqlDbType.LongText, 15, "column0037");
commandUpdate.Parameters.Add("@column0038", MySqlDbType.LongText, 15, "column0038");
commandUpdate.Parameters.Add("@column0039", MySqlDbType.LongText, 15, "column0039");
commandUpdate.Parameters.Add("@column0040", MySqlDbType.LongText, 15, "column0040");
commandUpdate.Parameters.Add("@column0041", MySqlDbType.LongText, 15, "column0041");
commandUpdate.Parameters.Add("@column0042", MySqlDbType.LongText, 15, "column0042");
commandUpdate.Parameters.Add("@column0043", MySqlDbType.LongText, 15, "column0043");
commandUpdate.Parameters.Add("@column0044", MySqlDbType.LongText, 15, "column0044");
commandUpdate.Parameters.Add("@column0045", MySqlDbType.LongText, 15, "column0045");
commandUpdate.Parameters.Add("@column0046", MySqlDbType.LongText, 15, "column0046");
commandUpdate.Parameters.Add("@column0047", MySqlDbType.LongText, 15, "column0047");
commandUpdate.Parameters.Add("@column0048", MySqlDbType.LongText, 15, "column0048");
commandUpdate.Parameters.Add("@column0049", MySqlDbType.LongText, 15, "column0049");
commandUpdate.Parameters.Add("@column0050", MySqlDbType.LongText, 15, "column0050");

mySqlDataAdapter.InsertCommand = commandInsert;
mySqlDataAdapter.UpdateCommand = commandUpdate;

DataSet dataSetSender = new DataSet();
DataView dataViewSender = new DataView();
DataTable dataTableSender = new DataTable();
DataGridView dataGridViewReferer = new DataGridView();

dataGridViewReferer = this.Controls.Find(dataGridViewSender, true).FirstOrDefault() as DataGridView;
dataViewSender = (DataView)dataGridViewReferer.DataSource;
dataTableSender = dataViewSender.ToTable();
dataSetSender.Tables.Add(dataTableSender);

mySqlDataAdapter.Update(dataSetSender);
conn.Close();
conn.Dispose();

dataGridViewReferer.Update();
dataGridViewReferer.Refresh();
不幸的是,插入正在工作,它不是只插入一行,而是每次都插入所有DataGridView行(更新也会执行相同的行为)

正如一些注释所述,数据集名称是在Form_Load上创建的,其名称保留在实际数据库中

这背后的目标是能够在运行时生成DataGridView,并以相同的方式为其分配数据集

DataGridView是通过单击按钮创建的:

ID = generateID();

dataGridView = new DataGridView();
dataGridView.Name = "dataGridView_" + loadedLogbook_filtered + "_" + ID;
dataGridView.Text = dataGridView.Name;
dataGridView.Location = new Point(8, 32);
dataGridView.Size = new Size(504, 504);
dataGridView.Visible = true;
dataGridView.ContextMenuStrip = contextMenuStrip_main;

dataGridView.MouseDown += new MouseEventHandler(control_MouseDown);
dataGridView.MouseUp += new MouseEventHandler(control_MouseUp);
dataGridView.MouseMove += new MouseEventHandler(control_MouseMove);
dataGridView.MouseClick += new MouseEventHandler(control_MouseClick);
dataGridView.CellValueChanged += new DataGridViewCellEventHandler(control_CellValueChanged);

this.Controls.Add(dataGridView);
ControlMoverOrResizer.Init(dataGridView);
我找不到问题的根源,我需要一些帮助

有谁能在这个问题上给我一些帮助吗

非常感谢您的时间和帮助,非常感谢

编辑:

以下是创建数据集的方法:

DataGridView dataGridViewReferer = this.Controls.Find(dataGridViewSender, true).FirstOrDefault() as DataGridView;
bool form_contextMenuStrip_main_dataSet_setbuttonDataSetSetClicked = false;

using (Form_contextMenuStrip_main_dataSet_set form_contextMenuStrip_main_dataSet_set = new Form_contextMenuStrip_main_dataSet_set())
{
    form_contextMenuStrip_main_dataSet_set.ShowDialog(this);
    form_contextMenuStrip_main_dataSet_setbuttonDataSetSetClicked = form_contextMenuStrip_main_dataSet_set.buttonDataSetSetClicked;
    dataSetToSet = form_contextMenuStrip_main_dataSet_set.dataSetToSet;

    if (form_contextMenuStrip_main_dataSet_setbuttonDataSetSetClicked == true)
    {
        dataSetToSetRefererer = new DataSet();
        DataSet dataSetCaller = new DataSet();

        conn = new MySqlConnection(connStr);
        conn.Open();

        mySqlDataAdapter = new MySqlDataAdapter();

        command = new MySqlCommand(@"SELECT 
                                    *
                                    FROM 
                                    item 
                                    WHERE
                                    id_type = @param_0001 and friendly_name=@param_0002", conn);

        command.Parameters.AddWithValue("@param_0001", 4);
        command.Parameters.AddWithValue("@param_0002", dataSetToSet);

        mySqlDataAdapter.SelectCommand = command;
        mySqlDataAdapter.Fill(dataSetCaller);

        conn.Close();
        conn.Dispose();

        string dataSetToFill = dataSetCaller.Tables[0].Rows[0][4].ToString();

        conn = new MySqlConnection(connStr);
        conn.Open();

        mySqlDataAdapter = new MySqlDataAdapter();

        command = new MySqlCommand(@"SELECT 
                                    *
                                    FROM 
                                    item 
                                    WHERE
                                    id_parent = @param_0001", conn);

        command.Parameters.AddWithValue("@param_0001", dataSetCaller.Tables[0].Rows[0][0].ToString());

        mySqlDataAdapter.SelectCommand = command;
        mySqlDataAdapter.Fill(dataSetToSetRefererer);

        conn.Close();
        conn.Dispose();
        dataGridViewReferer.DataSource = dataSetToSetRefererer.Tables[0].DefaultView;

    }
}

经过进一步测试,主要原因是我使用了CellValueChanged而不是DataGridView的RowValidated

下面是我的代码,使用nbk提供的链接(非常有用):


你到底有什么问题?datagridview有一个数据源,它可以是您的数据集,也可以是其中的一个表,在指定您格式化视图(将列混合出重新格式化…)后,然后dot net与数据库交互,然后您只更新数据适配器,至少这是ia正在做的。问题是,每当我单击DataGridView并修改一个单元格,或者甚至插入一个新的单元格时,如果DataGridView中有10行,它会将所有10行重新插入数据库(即使是在单元格更新时)。正如我在之前的评论中所说,尝试仅将data.apdater更新到显示的表,该表是datagriedview的数据源。请看,我最初尝试过:dataGridViewReferer=this.Controls.Find(dataGridViewSender,true).FirstOrDefault()作为DataGridView;dataViewSender=(DataView)dataGridViewReferer.DataSource;dataTableSender=dataViewSender.Table;dataSetSender.Tables.Add(dataTableSender);mySqlDataAdapter.Update(dataSetSender);康涅狄格州关闭();conn.Dispose();这就是我得到的(错误):DataTable已经属于另一个DataSet请尝试这种方法,在添加第二个表之前,首先使用一个表。就像我经常在这里重复的那样,编程就像写一个行动的时间表。
private void control_RowValidated(object sender, DataGridViewCellEventArgs e)
{
    DataGridView dataGridViewReferer = this.Controls.Find(dataGridViewSender, true).FirstOrDefault() as DataGridView;

    DataTable changes = ((DataTable)dataGridViewReferer.DataSource).GetChanges();

    if (changes != null)
    {
        conn = new MySqlConnection(connStr);
        conn.Open();

        command = new MySqlCommand(@"SELECT * from item WHERE id_type=@param_0001 and id_parent=@param_0002", conn);

        command.Parameters.AddWithValue("@param_0001", 5);
        command.Parameters.AddWithValue("@param_0002", 2);

        commandInsert = new MySqlCommand(@"INSERT INTO logbook.item
                                        (id_type,id_parent,column0001,column0002,column0003,column0004,column0005,column0006,column0007,column0008,column0009,column0010,column0011,column0012,
                                        column0013,column0014,column0015,column0016,column0017,column0018,column0019,column0020,column0021,column0022,column0023,column0024,column0025,
                                        column0026,column0027,column0028,column0029,column0030,column0031,column0032,column0033,column0034,column0035,column0036,column0037,column0038,
                                        column0039,column0040,column0041,column0042,column0043,column0044,column0045,column0046,column0047,column0048,column0049,column0050)
                                        VALUES
                                        (@id_type,@id_parent,@column0001,@column0002,@column0003,@column0004,@column0005,@column0006,@column0007,@column0008,@column0009,@column0010,
                                        @column0011,@column0012,@column0013,@column0014,@column0015,@column0016,@column0017,@column0018,@column0019,@column0020,@column0021,@column0022,
                                        @column0023,@column0024,@column0025,@column0026,@column0027,@column0028,@column0029,@column0030,@column0031,@column0032,@column0033,@column0034,
                                        @column0035,@column0036,@column0037,@column0038,@column0039,@column0040,@column0041,@column0042,@column0043,@column0044,@column0045,@column0046,
                                        @column0047,@column0048,@column0049,@column0050)", conn);

        commandInsert.Parameters.AddWithValue("@id_type", 5);
        commandInsert.Parameters.AddWithValue("@id_parent", 2);
        commandInsert.Parameters.Add("@column0001", MySqlDbType.LongText, 15, "column0001");
        commandInsert.Parameters.Add("@column0002", MySqlDbType.LongText, 15, "column0002");
        commandInsert.Parameters.Add("@column0003", MySqlDbType.LongText, 15, "column0003");
        commandInsert.Parameters.Add("@column0004", MySqlDbType.LongText, 15, "column0004");
        commandInsert.Parameters.Add("@column0005", MySqlDbType.LongText, 15, "column0005");
        commandInsert.Parameters.Add("@column0006", MySqlDbType.LongText, 15, "column0006");
        commandInsert.Parameters.Add("@column0007", MySqlDbType.LongText, 15, "column0007");
        commandInsert.Parameters.Add("@column0008", MySqlDbType.LongText, 15, "column0008");
        commandInsert.Parameters.Add("@column0009", MySqlDbType.LongText, 15, "column0009");
        commandInsert.Parameters.Add("@column0010", MySqlDbType.LongText, 15, "column0010");
        commandInsert.Parameters.Add("@column0011", MySqlDbType.LongText, 15, "column0011");
        commandInsert.Parameters.Add("@column0012", MySqlDbType.LongText, 15, "column0012");
        commandInsert.Parameters.Add("@column0013", MySqlDbType.LongText, 15, "column0013");
        commandInsert.Parameters.Add("@column0014", MySqlDbType.LongText, 15, "column0014");
        commandInsert.Parameters.Add("@column0015", MySqlDbType.LongText, 15, "column0015");
        commandInsert.Parameters.Add("@column0016", MySqlDbType.LongText, 15, "column0016");
        commandInsert.Parameters.Add("@column0017", MySqlDbType.LongText, 15, "column0017");
        commandInsert.Parameters.Add("@column0018", MySqlDbType.LongText, 15, "column0018");
        commandInsert.Parameters.Add("@column0019", MySqlDbType.LongText, 15, "column0019");
        commandInsert.Parameters.Add("@column0020", MySqlDbType.LongText, 15, "column0020");
        commandInsert.Parameters.Add("@column0021", MySqlDbType.LongText, 15, "column0021");
        commandInsert.Parameters.Add("@column0022", MySqlDbType.LongText, 15, "column0022");
        commandInsert.Parameters.Add("@column0023", MySqlDbType.LongText, 15, "column0023");
        commandInsert.Parameters.Add("@column0024", MySqlDbType.LongText, 15, "column0024");
        commandInsert.Parameters.Add("@column0025", MySqlDbType.LongText, 15, "column0025");
        commandInsert.Parameters.Add("@column0026", MySqlDbType.LongText, 15, "column0026");
        commandInsert.Parameters.Add("@column0027", MySqlDbType.LongText, 15, "column0027");
        commandInsert.Parameters.Add("@column0028", MySqlDbType.LongText, 15, "column0028");
        commandInsert.Parameters.Add("@column0029", MySqlDbType.LongText, 15, "column0029");
        commandInsert.Parameters.Add("@column0030", MySqlDbType.LongText, 15, "column0030");
        commandInsert.Parameters.Add("@column0031", MySqlDbType.LongText, 15, "column0031");
        commandInsert.Parameters.Add("@column0032", MySqlDbType.LongText, 15, "column0032");
        commandInsert.Parameters.Add("@column0033", MySqlDbType.LongText, 15, "column0033");
        commandInsert.Parameters.Add("@column0034", MySqlDbType.LongText, 15, "column0034");
        commandInsert.Parameters.Add("@column0035", MySqlDbType.LongText, 15, "column0035");
        commandInsert.Parameters.Add("@column0036", MySqlDbType.LongText, 15, "column0036");
        commandInsert.Parameters.Add("@column0037", MySqlDbType.LongText, 15, "column0037");
        commandInsert.Parameters.Add("@column0038", MySqlDbType.LongText, 15, "column0038");
        commandInsert.Parameters.Add("@column0039", MySqlDbType.LongText, 15, "column0039");
        commandInsert.Parameters.Add("@column0040", MySqlDbType.LongText, 15, "column0040");
        commandInsert.Parameters.Add("@column0041", MySqlDbType.LongText, 15, "column0041");
        commandInsert.Parameters.Add("@column0042", MySqlDbType.LongText, 15, "column0042");
        commandInsert.Parameters.Add("@column0043", MySqlDbType.LongText, 15, "column0043");
        commandInsert.Parameters.Add("@column0044", MySqlDbType.LongText, 15, "column0044");
        commandInsert.Parameters.Add("@column0045", MySqlDbType.LongText, 15, "column0045");
        commandInsert.Parameters.Add("@column0046", MySqlDbType.LongText, 15, "column0046");
        commandInsert.Parameters.Add("@column0047", MySqlDbType.LongText, 15, "column0047");
        commandInsert.Parameters.Add("@column0048", MySqlDbType.LongText, 15, "column0048");
        commandInsert.Parameters.Add("@column0049", MySqlDbType.LongText, 15, "column0049");
        commandInsert.Parameters.Add("@column0050", MySqlDbType.LongText, 15, "column0050");

        commandUpdate = new MySqlCommand(@"UPDATE logbook.item
                                        SET
                                        id_item = @id_item,id_type = @id_type,id_parent = @id_parent,column0001 = @column0001,column0002 = @column0002,column0003 = @column0003,
                                        column0004 = @column0004,column0005 = @column0005,column0006 = @column0006,column0007 = @column0007,column0008 = @column0008,column0009 = @column0009,
                                        column0010 = @column0010,column0011 = @column0011,column0012 = @column0012,column0013 = @column0013,column0014 = @column0014,column0015 = @column0015,
                                        column0016 = @column0016,column0017 = @column0017,column0018 = @column0018,column0019 = @column0019,column0020 = @column0020,column0021 = @column0021,
                                        column0022 = @column0022,column0023 = @column0023,column0024 = @column0024,column0025 = @column0025,column0026 = @column0026,column0027 = @column0027,
                                        column0028 = @column0028,column0029 = @column0029,column0030 = @column0030,column0031 = @column0031,column0032 = @column0032,column0033 = @column0033,
                                        column0034 = @column0034,column0035 = @column0035,column0036 = @column0036,column0037 = @column0037,column0038 = @column0038,column0039 = @column0039,
                                        column0040 = @column0040,column0041 = @column0041,column0042 = @column0042,column0043 = @column0043,column0044 = @column0044,column0045 = @column0045,
                                        column0046 = @column0046,column0047 = @column0047,column0048 = @column0048,column0049 = @column0049,column0050 = @column0050
                                        WHERE id_item = @id_item;", conn);

        commandUpdate.Parameters.Add("id_item", MySqlDbType.LongText, 15, "id_item");
        commandUpdate.Parameters.Add("@id_type", MySqlDbType.LongText, 15, "id_type");
        commandUpdate.Parameters.Add("@id_parent", MySqlDbType.LongText, 15, "id_parent");
        commandUpdate.Parameters.Add("@column0001", MySqlDbType.LongText, 15, "column0001");
        commandUpdate.Parameters.Add("@column0002", MySqlDbType.LongText, 15, "column0002");
        commandUpdate.Parameters.Add("@column0003", MySqlDbType.LongText, 15, "column0003");
        commandUpdate.Parameters.Add("@column0004", MySqlDbType.LongText, 15, "column0004");
        commandUpdate.Parameters.Add("@column0005", MySqlDbType.LongText, 15, "column0005");
        commandUpdate.Parameters.Add("@column0006", MySqlDbType.LongText, 15, "column0006");
        commandUpdate.Parameters.Add("@column0007", MySqlDbType.LongText, 15, "column0007");
        commandUpdate.Parameters.Add("@column0008", MySqlDbType.LongText, 15, "column0008");
        commandUpdate.Parameters.Add("@column0009", MySqlDbType.LongText, 15, "column0009");
        commandUpdate.Parameters.Add("@column0010", MySqlDbType.LongText, 15, "column0010");
        commandUpdate.Parameters.Add("@column0011", MySqlDbType.LongText, 15, "column0011");
        commandUpdate.Parameters.Add("@column0012", MySqlDbType.LongText, 15, "column0012");
        commandUpdate.Parameters.Add("@column0013", MySqlDbType.LongText, 15, "column0013");
        commandUpdate.Parameters.Add("@column0014", MySqlDbType.LongText, 15, "column0014");
        commandUpdate.Parameters.Add("@column0015", MySqlDbType.LongText, 15, "column0015");
        commandUpdate.Parameters.Add("@column0016", MySqlDbType.LongText, 15, "column0016");
        commandUpdate.Parameters.Add("@column0017", MySqlDbType.LongText, 15, "column0017");
        commandUpdate.Parameters.Add("@column0018", MySqlDbType.LongText, 15, "column0018");
        commandUpdate.Parameters.Add("@column0019", MySqlDbType.LongText, 15, "column0019");
        commandUpdate.Parameters.Add("@column0020", MySqlDbType.LongText, 15, "column0020");
        commandUpdate.Parameters.Add("@column0021", MySqlDbType.LongText, 15, "column0021");
        commandUpdate.Parameters.Add("@column0022", MySqlDbType.LongText, 15, "column0022");
        commandUpdate.Parameters.Add("@column0023", MySqlDbType.LongText, 15, "column0023");
        commandUpdate.Parameters.Add("@column0024", MySqlDbType.LongText, 15, "column0024");
        commandUpdate.Parameters.Add("@column0025", MySqlDbType.LongText, 15, "column0025");
        commandUpdate.Parameters.Add("@column0026", MySqlDbType.LongText, 15, "column0026");
        commandUpdate.Parameters.Add("@column0027", MySqlDbType.LongText, 15, "column0027");
        commandUpdate.Parameters.Add("@column0028", MySqlDbType.LongText, 15, "column0028");
        commandUpdate.Parameters.Add("@column0029", MySqlDbType.LongText, 15, "column0029");
        commandUpdate.Parameters.Add("@column0030", MySqlDbType.LongText, 15, "column0030");
        commandUpdate.Parameters.Add("@column0031", MySqlDbType.LongText, 15, "column0031");
        commandUpdate.Parameters.Add("@column0032", MySqlDbType.LongText, 15, "column0032");
        commandUpdate.Parameters.Add("@column0033", MySqlDbType.LongText, 15, "column0033");
        commandUpdate.Parameters.Add("@column0034", MySqlDbType.LongText, 15, "column0034");
        commandUpdate.Parameters.Add("@column0035", MySqlDbType.LongText, 15, "column0035");
        commandUpdate.Parameters.Add("@column0036", MySqlDbType.LongText, 15, "column0036");
        commandUpdate.Parameters.Add("@column0037", MySqlDbType.LongText, 15, "column0037");
        commandUpdate.Parameters.Add("@column0038", MySqlDbType.LongText, 15, "column0038");
        commandUpdate.Parameters.Add("@column0039", MySqlDbType.LongText, 15, "column0039");
        commandUpdate.Parameters.Add("@column0040", MySqlDbType.LongText, 15, "column0040");
        commandUpdate.Parameters.Add("@column0041", MySqlDbType.LongText, 15, "column0041");
        commandUpdate.Parameters.Add("@column0042", MySqlDbType.LongText, 15, "column0042");
        commandUpdate.Parameters.Add("@column0043", MySqlDbType.LongText, 15, "column0043");
        commandUpdate.Parameters.Add("@column0044", MySqlDbType.LongText, 15, "column0044");
        commandUpdate.Parameters.Add("@column0045", MySqlDbType.LongText, 15, "column0045");
        commandUpdate.Parameters.Add("@column0046", MySqlDbType.LongText, 15, "column0046");
        commandUpdate.Parameters.Add("@column0047", MySqlDbType.LongText, 15, "column0047");
        commandUpdate.Parameters.Add("@column0048", MySqlDbType.LongText, 15, "column0048");
        commandUpdate.Parameters.Add("@column0049", MySqlDbType.LongText, 15, "column0049");
        commandUpdate.Parameters.Add("@column0050", MySqlDbType.LongText, 15, "column0050");

        mySqlDataAdapter.InsertCommand = commandInsert;
        mySqlDataAdapter.UpdateCommand = commandUpdate;
        mySqlDataAdapter.SelectCommand = command;
        mySqlDataAdapter.Update(changes);

        ((DataTable)dataGridViewReferer.DataSource).AcceptChanges();
        ((DataTable)dataGridViewReferer.DataSource).GetChanges();

        DataView dataViewSender = new DataView();
        DataTable dataTableSender = new DataTable();

        ((DataTable)dataGridViewReferer.DataSource).Rows.Clear();

        mySqlDataAdapter.Fill((DataTable)dataGridViewReferer.DataSource);

        dataGridViewReferer.Update();
        dataGridViewReferer.Refresh();
    }
}