一、实时错误
(1)添加用户
1.ByRef参数类型不符
原因:对应参数的类型不符造成
造成这种情况一般有几种情况:
1、传递参数未定义类型,如果参数在调用前未定义类型,系统自动将它定义为Variant类型,由于与过程或函数中的对就参数类型不相同,所以提示"ByRef参数类型不符"
2、传递参数类型已经定义,但由于定义方法不对,所以提示"ByRef参数类型不符"。
2.实时错误'3021'
出现此错误的原因是所访问的数据库中的字段无记录,这就需要通过判断语句来解决啦!用到了EOF &BOF
那么,先让我们看一下什么是EOF和BOF?
BOF:指当前记录位置位于Recordset对象的第一个记录之前
EOF:指当前记录位置位于Recordset对象的最后一个记录之后
问题是怎么出现的呢? 就是在数据库中找不到任何数据。
所以得出的解决办法有两个:
一,看一下编码是否有错误,有的话改一下,这个比较简单。
二,确实没有数据了,要想解决这个问题可以这样解决
应该是先判断一下当前记录集的位置,然后再进行其他的操作,只用下面的语句判断即可,即:
if not rs.eof then
……
end if
(2)用户登录
1.实时错误‘91’
我想这应该是大家最最长遇到的问题了吧,反正我就遇到了很多次。说一下历程吧
第一次遇见它,间接原因:输入用户名和密码时,我输入的是“sa, 123”,哈哈,现在想起来之前自己做的事情,都觉得好笑,当时是真的一点儿都不明白呀,竟然连登录都不知道要输啥,后来还是杨大爷和我说的,sa 是登录数据库的名,这才明白了。
那一般遇到这个问题是因为什么呢?
一、链接数据库有问题
(1)服务管理器没有启动服务
(2)数据源(ODBC)里面“文件DSN”里有添加数据库
(3)“企业管理器-安全性-登陆”这里面访问的默认数据库没有设为你要访问的数据库,在属性里面可以更改
二、SQL语句书写有问题
(1) SQL 语句之间少了空格:txtSQL = "select * fromstudent_Info"
(2)txtsql = "select * from class_info" 这行代码的最后多了一个空格
(3) 在执行查询学生学籍信息的窗体中,执行语句txtSQL = "select * from result_Info where",因为后面还要添加条件,所以在'where'和‘ " ’之间缺少空格时会出错。
(4)在代码里“select*from ”这后面应该接的是表的名字,而不是数据库名
(5) 在一句完全的查询语句中,比如 txtSQL = "select * from class_Info where class_No='" & Trim(txtClassno.Text) & "'",其中在最后判断输入框中的条件时,双引号和单引号一定要注意(整句话的引号从外到内一共分三层:双引号,单引号,双引号),既不可破坏其顺序层次,也不能丢三落四