【发布时间】:2012-04-03 23:04:29
【问题描述】:
我正在尝试从 datagridview 更新 ms access 数据库。
datagridview 在按钮单击时填充,并且在任何单元格被修改时更新数据库。
我一直在使用的代码示例填充表单加载并使用 cellendit 事件。
private OleDbConnection connection = null;
private OleDbDataAdapter dataadapter = null;
private DataSet ds = null;
private void Form2_Load(object sender, EventArgs e)
{
string connetionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\\Users\\Peter\\Documents\\Visual Studio 2010\\Projects\\StockIT\\StockIT\\bin\\Debug\\StockManagement.accdb';Persist Security Info=True;Jet OLEDB:Database Password=";
string sql = "SELECT * FROM StockCount";
connection = new OleDbConnection(connetionString);
dataadapter = new OleDbDataAdapter(sql, connection);
ds = new DataSet();
connection.Open();
dataadapter.Fill(ds, "Stock");
connection.Close();
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "Stock";
}
private void addUpadateButton_Click(object sender, EventArgs e)
{
}
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
try
{
dataadapter.Update(ds,"Stock");
}
catch (Exception exceptionObj)
{
MessageBox.Show(exceptionObj.Message.ToString());
}
}
我收到的错误是
在传递 DataRow 集合时,更新需要有效的 UpdateCommand 修改后的行。
我不确定这个命令需要去哪里以及如何引用单元格来更新数据库中的值。
【问题讨论】:
标签: c# sql datagridview tableadapter dataadapter