以编程方式编辑 DataGridView 后,C# 更新 MySql
C# Update MySql after edited DataGridView programmatically
我在将数据从 DataGridView
保存到 MySql
数据库时遇到问题。
当我将新值插入 DataGridView
选定行的 Cell
并按下按钮 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;
}
这是我的按钮
private void buttonSalvaColore_Click(object sender, EventArgs e)
{
if (dataGridColori.CurrentRow != null)
{
dataGridColori.CurrentRow.Cells[0].Value = textBoxCodiceColore.Text;
dataGridColori.CurrentRow.Cells[1].Value = textBoxDescColore.Text;
daColori.Update(dsColori,"colori");
}
}
尝试在更新DataGridView
后调用EndEdit
来更新您BindingSource
的所有未决更改。
dataGridColori.CurrentRow.Cells[0].Value = textBoxCodiceColore.Text;
dataGridColori.CurrentRow.Cells[1].Value = textBoxDescColore.Text;
bSource.EndEdit();
daColori.Update(dsColori,"colori");
我在将数据从 DataGridView
保存到 MySql
数据库时遇到问题。
当我将新值插入 DataGridView
选定行的 Cell
并按下按钮 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;
}
这是我的按钮
private void buttonSalvaColore_Click(object sender, EventArgs e)
{
if (dataGridColori.CurrentRow != null)
{
dataGridColori.CurrentRow.Cells[0].Value = textBoxCodiceColore.Text;
dataGridColori.CurrentRow.Cells[1].Value = textBoxDescColore.Text;
daColori.Update(dsColori,"colori");
}
}
尝试在更新DataGridView
后调用EndEdit
来更新您BindingSource
的所有未决更改。
dataGridColori.CurrentRow.Cells[0].Value = textBoxCodiceColore.Text;
dataGridColori.CurrentRow.Cells[1].Value = textBoxDescColore.Text;
bSource.EndEdit();
daColori.Update(dsColori,"colori");