C#(在VS2017中操作)封装一个类,并调用该封装类实现简单的增删改查功能(增和改两个功能是固定的硬编码)

一、创建一个封装类 ( F_Data_T)

1.1、创建的类截图如下所示:

 1.2、代码

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace F_Data_test01
{
    public class F_Data_T
    {


        public void Add(string sql,string str)

        {
            OleDbConnection odc = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + str);

            try
            {
                if (odc.State == System.Data.ConnectionState.Closed)
                {
                    //打开连接
                    odc.Open();
                }
                //创建命令
                OleDbCommand oleDbCommand = new OleDbCommand(sql, odc);

                //执行非查询的命令(增加,删除,修改)
                oleDbCommand.ExecuteNonQuery();

                if (odc.State == System.Data.ConnectionState.Open)
                {
                    odc.Close();
                }
            }
            catch (Exception ex)
            {
                //throw (ex);
                //MessageBox.Show(ex.ToString());

                throw new Exception ("异常原因为"+ex.ToString());
            }
            finally
            {
                odc.Close();

            }

        }


        //查
        public DataTable Sec(string sql, string str)

        {
            OleDbConnection odc = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + str);
            DataTable dataTable = new DataTable();

            try
            {
                if (odc.State == System.Data.ConnectionState.Closed)
                {
                    odc.Open();
                }


                OleDbDataAdapter dbDataAdapter = new OleDbDataAdapter(sql, odc);
                dbDataAdapter.Fill(dataTable);


                if (odc.State == System.Data.ConnectionState.Open)
                {
                    odc.Close();
                }

                return dataTable;
            }
            catch (Exception ex)
            {

                //throw (ex);
                //MessageBox.Show(ex.ToString());
                throw new Exception("异常原因为" + ex.ToString());

            }
            finally
            {
      
                odc.Close();
              
            }     

        }  


    }
}

1.3、dll文件(F_Data_T的 封装类)

将创建的类F_Data_T生成解决方案后,在bin/Debug路径下找到.dll文件(在后面引用的时候引用该文件,该文件就是封装类)

如下图所示:

 

二、创建数据库和表

2.1、创建Access数据库

在bin/Debug路径下创建Test0424-1.accdb  数据库 ,如下所示:

     

 

2.2、创建表t_Students

创建表,并设计表,表结构如下所示

 

 

三、调用封装类

3.1、引用前面的封装类

点右键,添加引用,找到前面.dll文件添加上

 

 成功引用封装类后显示如下所示:

3.2、窗体简单设计结构

 3.3、代码

using F_Data_test01;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        string str = Application.StartupPath + "\\Date1\\Test0424-1.accdb";

        DataTable date = new DataTable();
        private void btnSle_Click(object sender, EventArgs e)
        {
            string sql = $"select * from t_Students";
            F_Data_T f_Data_T = new F_Data_T();

         date =   f_Data_T.Sec(sql,str);

            this.dataGridView1.DataSource = date;



        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
           
            string t = DateTime.Now.ToString();
            string sql = $"insert into t_Students(Sname,Sage,Sadress,DataTime) values('刘备',21,'成都','{t}')";

            F_Data_T f_Data_T = new F_Data_T();
            f_Data_T.Add(sql,str);


        }

        private void btnUpadate_Click(object sender, EventArgs e)
        {
            int rowsIndex = dataGridView1.CurrentRow.Index;
            int id = Convert.ToInt32(dataGridView1.Rows[rowsIndex].Cells[0].Value);
            string dataTime = DateTime.Now.ToString();
            String sql = $"update  t_Students set Sname ='修改' ,DataTime = '{dataTime}' where ID = {id}";




            F_Data_T f_Data_T = new F_Data_T();
            f_Data_T.Add(sql,str);

        }

        private void btnDelete_Click(object sender, EventArgs e)
        {

            int rowsIndex = dataGridView1.CurrentRow.Index;
            int id = Convert.ToInt32(dataGridView1.Rows[rowsIndex].Cells[0].Value);

            String sql = $"delete from t_Students where ID = {id}";

            F_Data_T f_Data = new F_Data_T();
            f_Data.Add(sql ,str);




        }
    }
}

四、效果展示

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值