C# 连接 SQL Server 2008 基础操作+数据库增删改查_c# 访问sql server(2)

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!


img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

把钩去掉,就可以了

3.连接数据库

具体方法可参见:https://jingyan.baidu.com/article/d169e186b0a432436611d8d2.html

4.增删改查

4.1增

        /// <summary>
        /// 增加数据库内容--设备错误代码表
        /// </summary>
        /// <param name="sheetName"></param>
        /// <param name="str1">本数据库中表示DeviceID</param>
        /// <param name="str2">本数据库中表示DeviceErrorCode</param>
        public int addData(string sheetName, string str1, string str2)
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("insert into " + sheetName + " values('" + str1 + "','" + str2 + "')", conn);
            try
            {
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch (SqlException e)
            {
                conn.Close();
                return e.Number;
            }
            return 1;

        }

根据数据库内容不同,需要编写不同参数的addData函数以进行重载,是否有更便捷方式。日后跟进。

4.2删

        /// <summary>
        /// 删出数据库内容
        /// </summary>
        public void delete(string sheetName,string columnName,string deleteData)
        {
            conn.Open();//打开数据库
            SqlCommand cmd = new SqlCommand("delete from " + sheetName + " where " + columnName + "='" + deleteData + "'", conn);
            cmd.ExecuteNonQuery();
            conn.Close();//关闭数据库
        }

编程时遇到问题:DELECT语句与REFERENCE约束 冲突

解决方法:删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。

如图:

4.3改

        /// <summary>
        /// 更新数据库某值,UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
        /// </summary>
        /// <param name="sheetName">表名称</param>
        /// <param name="columnName1">欲被修改列名称</param>
        /// <param name="newValue">新值</param>
        /// <param name="columnName2">定位列</param>
        /// <param name="targetValue">定位列值</param>
        /// <returns></returns>
        public int update(string sheetName, string columnName1, string newValue,string columnName2,string targetValue)
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand("update " + sheetName + " set " + columnName1 + "='" + newValue + "' where " + columnName2 + "='" + targetValue + "'", conn);
            if (dataExist(sheetName, columnName2, targetValue))
            {
                try
                {
                    cmd.ExecuteNonQuery();
                    conn.Close();
                }
                catch (SqlException e)
                {
                    conn.Close();
                    return e.Number;
                }
                return 1;
            }
            else 
            {
                conn.Close();
                return 0;
            }
  
        }
        
        /// <summary>
        /// 判断数据是否存在于数据库中
        /// </summary>
        /// <param name="sheetName">表名称</param>
        /// <param name="columnName">列名称</param>
        /// <param name="data">查找数据名称</param>
        /// <returns></returns>
        private bool dataExist(string sheetName, string columnName,string data)
        {
            //conn.Open();//打开数据库
            SqlCommand myCmd = new SqlCommand("select count(*) from "+sheetName+" where "+columnName+"='"+data+"'", conn);
            //int n = myCmd.ExecuteNonQuery();
            int n = int.Parse(myCmd.ExecuteScalar().ToString());
            //conn.Close();
           
            if (n > 0)
            {
                return true;
            }
            else
            {
                return false;


![img](https://img-blog.csdnimg.cn/img_convert/9b7d57c88de39a8b429477578ab6836a.png)
![img](https://img-blog.csdnimg.cn/img_convert/5b7cc739cecc817f97982ad7fb830ea8.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618636735)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618636735)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值