有关数据库增删改(通用方法)

通用方法:

        private void AccEss数据库增删改(List<string> 表达式, bool 控制 = false)
        {
            int 影响数 = 0;
            Thread 执行操作 = new Thread(delegate()
            {
                OleDbConnection 连接 = new OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = 数据库名.mdb");
                连接.Open();
                foreach (string 元素 in 表达式)
                {
                    OleDbCommand 执行 = new OleDbCommand(元素, 连接);
                    影响数 += 执行.ExecuteNonQuery();
                }
                连接.Close();
            });
            执行操作.Start();
            执行操作.Join();/*有些执行过程不需提示控制*/
            if (影响数 > 0 && 控制) MessageBox.Show("数据保存成功!受影响数" + 影响数.ToString("〖00000〗"), "友情提醒", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
        }

执行示例[增-数据插入]:

       List<string> 数据库执行语句 = new List<string>();
       数据库执行语句.Add("INSERT INTO 数据表名 (字段名1,字段名2) VALUES ('" + 数据1 + "', '" + 数据2 + "')");
       AccEss数据库增删改(数据库执行语句, false);

执行示例[改-数据更新]:

       数据库执行语句.Add("UPDATE 数据表名 SET 字段名1 = '" + 数据1 + "' , 字段名2 = '"
                         + 数据2 + "' WHERE _ID = " + int.Parse(数据ID));
       AccEss数据库增删改(数据库执行语句, false);

执行示例[删-数据删除]:

       数据库执行语句.Add("DELETE FROM 数据表名 WHERE 字段名 = '" + 删除.Text + "' and _ID = " + int.Parse(数据ID));
       AccEss数据库增删改(数据库执行语句, true);

执行示例[综合-多表-批量]:

       数据库执行语句.Add("INSERT INTO 数据表名1 (字段名1,字段名2) VALUES ('" + 数据1 + "', '" + 数据2 + "')");
       数据库执行语句.Add("UPDATE 数据表名2 SET 字段名1 = '" + 数据1 + "' , 字段名2 = '" + 数据2 + "' WHERE _ID = " + int.Parse(数据ID));
       数据库执行语句.Add("DELETE FROM 数据表名3 WHERE 字段名 = '" + 删除.Text + "' and _ID = " + int.Parse(数据ID));
       AccEss数据库增删改(数据库执行语句, true);

AccEss数据库增删改(表达式:数据库执行语句);

之所以写成这样形式,理由1:如果某语句在多处被用到则归纳;理由2:便于代码维护;理由3:可以很方便写到类文件中编译为DLL文件.

无论是AccEss数据库还是Sql数据库或.NET支持的数据提供者,只要改变对应的语句即可通用.如:AccEss数据库则使用OleDbConnection和OleDbCommand,Sql数据库则使用SqlConnection和SqlCommand,语法是一样的,修改即可.

看论坛提问不少,发布提供参考.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值