今天做数据库的时候又想当然了一把!结果一道题花了一个半小时才解决。 前提是这样的,我在查数据库中的某列时,把查询列跟已知列搞混了,我觉得不管我输入那个列,只要数据库中存在,这个objrs.eof 就不会是true,结果是不可以想当然! objRs.EOF 的理解:
今天做数据库的时候又想当然了一把!结果一道题花了一个半小时才解决。
前提是这样的,我在查数据库中的某列时,把查询列跟已知列搞混了,我觉得不管我输入那个列,只要数据库中存在,这个objrs.eof 就不会是true,结果是不可以想当然!
objRs.EOF 的理解:
判断结果集是否为空。程序会根据你给出的已知列来判断,而不是要查询的列。
例如: 查询语句为:strSQL = "SELECT 口令,身份 FROM 系统用户 WHERE 用户名='" & UserName & "'"
我在账户框中输入一个账户,如果数据库中 存在这个账户则objrs.eof 为false ,否则为 true
但是,如果我在密码,跟身份里输入数据库中存在的列,如下:
结果却是objrs.eof 为 true。用户不存在。
很有意思吧!
教训:做题不要想当然哦!你的想当然不是结果,事实才是结果!