求救!c#datagridview已绑定ACCESS数据库,现在对datagridview中数据进行更改,通过保存按钮更新到数据库!

HammerMAS 2015-05-05 04:30:37
如题。这是按钮代码
 private void button2_Click(object sender, EventArgs e)
{

if (MessageBox.Show("是否保存数据?", "系统消息", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
dataGridView1.EndEdit();
//重新用表格数据填充数据容器

OleDbDataAdapter Ada = new OleDbDataAdapter();
DataTable table = (DataTable)dataGridView1.DataSource;
DataTable dt = new DataTable();
for (int count = 0; count < dataGridView1.Columns.Count; count++)
{
DataColumn dc = new DataColumn(dataGridView1.Columns[count].Name.ToString());
dt.Columns.Add(dc);
}
for (int count = 0; count < dataGridView1.Rows.Count; count++)
{
DataRow dr = dt.NewRow();
for (int countsub = 0; countsub < dataGridView1.Columns.Count; countsub++)
{
dr[countsub] = Convert.ToString(dataGridView1.Rows[count].Cells[countsub].Value);
}
dt.Rows.Add(dr);
}
//重新启动连接
String ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "/Database11.accdb";
//用Buider方法更新数据
using (OleDbConnection connection = new OleDbConnection(ConnectionString))
{
Ada.SelectCommand = new OleDbCommand("SELECT * FROM 栏舍", connection);
OleDbCommandBuilder builder = new OleDbCommandBuilder(Ada);
Ada.UpdateCommand = builder.GetUpdateCommand();
try
{
//更新数据表数据时
Ada.Update(dt);
dt.AcceptChanges();
MessageBox.Show("操作已成功!数据将全部被保存......", "系统消息", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2);

}

catch (System.Data.OleDb.OleDbException ex)
{
throw new Exception(ex.Message);
}
}




}

}

运行后出现 请教各位大神 该如何解决!
...全文
182 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-05-05
  • 打赏
  • 举报
回复
首先你得保证代码都是正确的,不要胡乱东抄一点,西抄一点的拼凑 其次,dt里必须有全部的列,尤其是必须要有主键,而且dt里的列名必须和数据库里的一致,不能重命名
HammerMAS 2015-05-05
  • 打赏
  • 举报
回复
求帮助啊!!
HammerMAS 2015-05-05
  • 打赏
  • 举报
回复
小弟最近刚刚接触这些东西 不是很懂 还请大神们多多指导啊

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧