110,536
社区成员
发帖
与我相关
我的任务
分享
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);
}
}
}
}