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();
        }

    

    }
}

 

posted @ 2024-05-21 13:08  海乐学习  阅读(52)  评论(0编辑  收藏  举报