C#以编程方式编辑DataGridView后更新MySql

时间:2016-02-03 16:32:34

标签: c# mysql winforms datagridview dataset

我有问题将我的数据保存到MySql的{​​{1}}数据库中。

当我在DataGridView的所选行的Cell中插入新值并按下按钮DataGridView时,数据将无法保存在数据库中。

怎么了?

这是我填写buttonSalvaContatore

的时候
DataGridView

这是我的按钮

const string queryRicerca = "SELECT * FROM colori ORDER BY id_colore ASC";
using (daColori = db.ExecuteDataAdapter(queryRicerca))
{

    mySqlCommandBuilder = new MySqlCommandBuilder(daColori);
    daColori.UpdateCommand = mySqlCommandBuilder.GetUpdateCommand();
    daColori.InsertCommand = mySqlCommandBuilder.GetInsertCommand();

    daColori.SelectCommand.CommandType = CommandType.Text;
    dsColori = new DataSet();t
    daColori.Fill(dsColori, "colori"); 
    bSource.DataSource = dsColori.Tables["colori"];
    dataGridColori.DataSource = bSource;
    dataGridColori.Columns[0].HeaderText = "Codice";
    ((DataGridViewTextBoxColumn)dataGridColori.Columns[0]).MaxInputLength = 2;
    dataGridColori.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
    dataGridColori.Columns[1].HeaderText = "Descrizione";
    dataGridColori.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}

1 个答案:

答案 0 :(得分:1)

在更新BindingSource后,尝试通过调用EndEdit来更新DataGridView的所有待定更改。

dataGridColori.CurrentRow.Cells[0].Value = textBoxCodiceColore.Text;
dataGridColori.CurrentRow.Cells[1].Value = textBoxDescColore.Text;
bSource.EndEdit();
daColori.Update(dsColori,"colori");

供参考:BindingSource.EndEdit() Method