牛腩视频前十集错误解析

前言:

    在看牛腩视频前10集的时候,我发现了在执行程序操作的时候一些惯常的错误,分享一下:

1、数据库中插入新闻类的时候出现了不能插入的错误


  主要是由于新闻类别和新闻内容具有主键和外键的关系,在category中不存在caID为才会出现这样的错误。

2.登录错误,主要是链接数据库时候语句出错了:

正确应该是如下,而且可能是由于数据库没有打开的问题。
string connStr = @"server=数据库服务器的名称;database=newsystem;User ID=sa;PWD=1";  

3.sql数据中插入的时候出现了如下的:

    这时候数据库中news表中的newsid是一个标识的列,会自动增长,也就是identity_insert 为off的时候,不能够向其中插入显示值,只能让其自动的增加。但是如果想要向其中插入显示值,可以进行设置

1.新建查询语句中
set identity_insert 表名 on
执行语句
go
2.在属性中修改它的标识为否。
identity:意思是标识

延伸知识点:
SQL Server中的标识列又称标识符列,习惯上又叫自增列。
该种列具有以下三种特点:
1、列的数据类型为不带小数的数值类型
2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值
3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。
 
4.sql删除的时候出现了错误

主要原因是由于主外键的关系,删除了外键表的主键值,那么会对与之有联系的表造成影响,所有出现了错误。
解决的方案:
1.采用存储过程
2.触发器:触发某一些东西!
 主要讲了after和insteadof之间的关系,其中after是指语句结束之后再进行后续的操作,insteadof表示的是前面的语句由后面的语句所代替。

5.在进行用sql语句删除的时候出错

 因为外键和主键之间的关系是一对多的关系,所有在我们写的时候不能写成(delete comment where newsID =(select newsID from news where caid=@caid ),因为,这里的newsid会返回多条,所有只有将=改成in,表示了一个集合。

总结:
      在进行vs操作的过程中,凡是需要涉及到sql语句的增删改查,我们都可以从sql server中首先进行尝试,将由sql语句引起的错误降到最低!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值