前面已经给大家总结了一些关于数据库的问题,基本上大家遇到的数据库问题,都能从下面的文章中找到答案,希望大家可以收藏一下,遇到问题,可以一一对照去查找原因。
数据库系列之特定实例错误
数据库系列之sa账户登录失败
数据库系列之常见语法错误
数据库系列之App.config配置文件错误
其实,大家在学习数据库的时候,可能还会遇到各种奇奇怪怪的问题,今天我们针对这些零散的问题,做一下具体的分析。
希望可以为大家学习数据库铺平道路。
错误提示:不支持关键字“sever”。
《C#程序》的错误提示:
【问题分析】:只要是在连接对象创建中,提示“不支持关键字的”,就是这个关键字写错了。
仔细核对就行了。比如上面的,就是把Server写成了sever,常见的其他的还有把DataBase写成DateBase等。这个要求你必须认真检查,改正后,错误就解决了。
错误提示:ConnectionString属性尚未初始化。
《C#程序》的错误提示:
这种错误很容易解决,就是new 连接对象的时候,忘记把连接字符串放进去了,按照如下改正即可:
错误提示:Connection属性尚未初始化。
《C#程序》的错误提示:
【问题分析】此问题和上面的问题有些类似,都是属性尚未初始化,但是这里的问题是指Connection,这个是连接对象,而上面的是连接字符串ConnectionString,所以问题解决方式一样,但是位置不一样。Connection对象属性未初始化问题是因为SqlCommand构造的时候,没有传递进去。
所以按照如下修改即可:
错误提示:列名“EmployeName”无效。
《C#程序》的错误提示:
主要提示列名无效的,请检查提示的这个列名称是不是真的写错了,也就是从SQL语句中去直接查看(这个不要调试,直接看就可以),如果真的写错了,就修改,比如上面的EmployeeName确实写成了EmployeName,也就是少了一个e,所以提示错误。主要改过来就行了。
错误提示:列名“韩老师”无效。
《C#程序》的错误提示:
都是同样的错误告诉我们列名无效,但是现在这个列并不是真实的列名称,而是我们给列对应的一个值,这种情况,通常是使用格式化的SQL语句时,需要添加单引号的占位符,却没有添加造成的,很明显第一个占位符 {0} 因为是字符串类型,必须添加单引号,添加后,错误就没有了。
错误提示:对象名“Employeeinner”无效。
《C#程序》的错误提示:
其实本错误如果细心的话,是可以直接看出来的,C#中把数据库中的表,也称为对象,所以这里说的对象名无效,也就是说表的名称无效,而在查询语句中,我们用的表是Employee,这里很显然后面多了inner,也就是说inner和Employee直接缺少的空格,所以加上空格问题就马上解决。
错误提示:从字符串转换日期和/或时间时,转换失败。
《C#程序》的错误提示:
反射调试日期或时间,转换无效的,我们就直接定位到“日期”字段对应的值,在SQLServer里面对日期的格式要求非常严格,我们常用的日期格式为“2022-01-01或2022/02/02”,(但是也有其他格式,但是不推荐)所以,带着汉字的“年月日”这种格式肯定是不行的,有时候,有的学员可能也会用到,带着“星期”的日期,这种都是不符合规范的。所以上面的问题解决,就是直接把“2014年1月18日”这种日期格式改成“2014-01-18”就可以了。
错误提示:输入的字符串格式不正确。
《C#程序》的错误提示:
这种错误出现的位置和前面的统称都不一样,是在字符串格式的位置出现的,所以,我们重点观察占位符,如果仔细观察的话,会发现,在占位3个位置,把花括号写成了中括号,从而导致这个错误,这种错误希望大家能记住排查问题的要点,归根结底还是要仔细。
错误提示:输入的字符串格式不正确。
《C#程序》的错误提示:
【问题分析】:在我们学习DataReader对象的时候,其实重点强调了DataReader对象在数据没有读取完毕之前,是不能关闭的,因为这个对象要求必须保持数据库的连接,而这里提示阅读器关闭,那肯定程序里面调用了Close()方法,其实打开后台的通用类看一下就明白了。
把整个finally全部删掉就行了。
以上就是大家学习数据库时可能会出现的一些零散问题,针对这些问题老师们特此做了总结归纳,希望可以帮助大家。