做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以选择使用...,Read() 读到数据返回true但是从第二条开始读
datareader.HasRows 只是检则库中是否有记录,如果有则返回true,还得再用read()读取.
datareader.read()...为从数据开头往后读,如果库中已读到结尾了(可能没有记录)则返回false,如果用在if中,则会自动读出一条,else里则不必再用read(),如果有while(含有read()条件),则自动从第二条开始往下读...:在没有任何数据时进行无效的读取尝试
出现这种情况很明显是读取器运行到的位置无数据流,无法执行数据的输出
这时确定判断是while处的判断条件有误,在MSDN文档中查询到:
HasRows属性...// 返回结果: 如果存在多个行,则为 true;否则为 false。
则只需将reader.Read()替换reader.HasRows执行循环,为什么行呢?