OleDbDataReader的Read返回值怎么乱七八糟的,不会是.net的bug吧,麻烦各位指点一下(C#)
用Access数据库,字段类型是String时,
select max(dept_name) from dept_data where left(dept_name,3)='abc'
由于没有满足where left(dept_name,3)='abc'所以DataReader没有任何记录,结果执行Read()居然也返回True,但用GetString(0)时,却又出错,有记录时就可以用GetString(0)返回正确结果。当字段类型是integer时就奇怪了,
select max(dept_num) from dept_data
Table的记录是空的时Read()返回False,Table记录不为空时max()有正确的数字结果时Read()也返回False,更不用说GetInt64(0)不可能执行了