C#在DataGridView表格中操作Access数据库
C#在DataGridView表格中 直接 添加 修改 删除数据
效果图
Form1.cs 完整代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.Data; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private OleDbConnection ole_connection = null; private OleDbDataAdapter ole_da = null; private DataTable dt = new DataTable(); private void Form1_Load(object sender, EventArgs e) { try { //表中必有主键 string strSql = "select * from jg_船名信息 "; string db_path = System.Windows.Forms.Application.StartupPath + @"\data\jingang3_db.mdb"; string conn_str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + db_path + "'"; this.ole_connection = new OleDbConnection(conn_str); //创建实例 this.ole_da = new OleDbDataAdapter(strSql, this.ole_connection); this.ole_da.Fill(this.dt); this.dataGridView1.DataSource = this.dt; } catch (Exception ex) { MessageBox.Show("查询表信息时出错!"); } } private void but保存_Click(object sender, EventArgs e) { try { //表中必有主键 System.Data.OleDb.OleDbCommandBuilder ole_cb = new OleDbCommandBuilder(this.ole_da); this.ole_da.UpdateCommand = ole_cb.GetUpdateCommand(); this.ole_da.Update(this.dt); MessageBox.Show("保存成功!"); } catch (Exception ex) { MessageBox.Show("保存失败!"); } } private void but删除_Click(object sender, EventArgs e) { try { this.dataGridView1.Rows.RemoveAt(this.dataGridView1.CurrentCell.RowIndex);//删除选中行 //表中必有主键 //数据库中进行删除 System.Data.OleDb.OleDbCommandBuilder ole_cb = new OleDbCommandBuilder(this.ole_da); this.ole_da.UpdateCommand = ole_cb.GetUpdateCommand(); this.ole_da.Update(this.dt); MessageBox.Show("删除成功!"); } catch (Exception ex) { MessageBox.Show("删除失败!"); } } private void butClose_Click(object sender, EventArgs e) { this.Close(); } } }