datagridview的增删改查

时间:2021-06-27 14:44:01

 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;

namespace dataGridViewUse
{
    public partial class Form1 : Form
    {
        private OleDbConnection con = null;
        private OleDbCommand com = null;
        private OleDbDataAdapter adapter = null;
        private OleDbDataReader dr = null;
        private string s;
        private string sqlstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/My Documents/Visual Studio 2005/Projects/dataGridViewUse/dataGridViewUse/表.mdb";
        private System.Windows.Forms.DataGrid dataGrid1;
        private DataSet ds = null;
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.Refresh();

            con = new OleDbConnection(sqlstring);
            getData();

            //水晶报表
            DataSet1 d = new DataSet1();
            this.areaTableAdapter.Fill(d.Area);
            CrystalReport1 c = new CrystalReport1();
            c.SetDataSource(d);
            crystalReportViewer1.ReportSource = c;
        }
        //得到表Area里所有的数据
        private void getData()
        {
            try
            {
                con.Open();
                adapter = new OleDbDataAdapter("select * from Area", con);
                ds = new DataSet();
                adapter.Fill(ds, "Area");
                dataGridView1.DataSource = ds.Tables["Area"];

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                con.Close();
            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

//增加的方法
        public  void methodAdd()
        {
            // TODO: 这行代码将数据加载到表“表DataSet.Area”中。您可以根据需要移动或移除它。
           // this.areaTableAdapter1.Fill(this.表DataSet.Area);
           // this.areaTableAdapter.Fill(dataSet11.Area);

            //dataGridView1.Refresh();
        }
//增
        private void btadd_Click(object sender, EventArgs e)
        {
            try
            {
                con.Open();
                s = "insert into Area(lngAreaID,strAreaCode) values(" + txtid.Text.Trim() + ",'" + txtcode.Text.Trim() + "')";
                com = new OleDbCommand(s, con);
                com.ExecuteNonQuery();
                con.Close();
                this.getData();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
            }
        }
//删
        private void btdel_Click(object sender, EventArgs e)
        {
            try
            {
                con.Open();
                s = "delete from Area where lngAreaID=" + dataGridView1[dataGridView1.CurrentCell.ColumnIndex,dataGridView1.CurrentCell.RowIndex].Value;
                com = new OleDbCommand(s, con);
                com.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("删除成功");
                this.getData();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
            }
        }
//改
        private void btupdate_Click(object sender, EventArgs e)
        {
            try
            {
                con.Open();
                s = "update Area set strAreaCode='" + txtcode.Text.Trim() + "' where lngAreaID=" + dataGridView1[0,dataGridView1.CurrentCell.RowIndex].Value;
                com = new OleDbCommand(s, con);
                com.ExecuteNonQuery();
                con.Close();
                MessageBox.Show("修改成功");
                this.getData();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
            }
        }
//查
        private void btfind_Click(object sender, EventArgs e)
        {
            try
            {
                con.Open();
                adapter = new OleDbDataAdapter("select * from Area where lngAreaID like '%" + txtid.Text.Trim() + "%'", con);
                ds = new DataSet();
                adapter.Fill(ds, "Area");
                dataGridView1.DataSource = ds.Tables["Area"];

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                con.Close();
            }
        }
//单击datagridview的事件
        private void dataGridView1_Click(object sender, EventArgs e)
        {
            if (dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value.ToString() == "")
                return;
            try
            {
                con.Open();
                s = "select * from Area where lngAreaID=" + dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value;
                com = new OleDbCommand(s, con);
                dr = com.ExecuteReader();
                if (dr.Read())
                {
                    txtid.Text = dr[0].ToString();
                    txtcode.Text = dr[1].ToString();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                con.Close();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2(this.dataGridView1);
            f.ShowDialog();
        }
    }
}