sqlite中遍历数据的一些方法
研究了一下sqlite的遍历数据的方法,汇总在下面: by:陈运文 1 使用sqlite的iterator:foreach() 通过sqlite_query()获得查询数据集的句柄后,使用SQLITE的iterator来遍历结果 例程如下: $db = new sqlite_db("TestDb"); 这里的iterator和STL中的迭代子iterator非常相似,可以通过它完成对查询数据集的逐一访问;这里foreach()方法可以访问句柄对象当前记录,并自动循环到下一条记录,直到SELECT命令取出的结果完全被访问到;这里使用了SELECT * 命令,其实际结果就是将MyDrings table里面的元素全部遍历到了 除了foreach() 以外,还有以下iterator function可以使用: 相关的用法如: $db = sqlite_open("TestDb"); 2 使用sqlite_fetch_array() sqlite中提供的sqlite_fetch_array() ,非常好的功能是在返回当前row的数据进行处理后,会自动指向下面一行,直到query()返回的set遍历结束,例如: $db = sqlite_open("TestDb"); 3 直接使用sqlite_array_query() 命令 sqlite中还提供了sqlite_array_query()命令,这条命令相当于将query() 和 sqlite_fetch_array() 组合在一起 将SQL查询语句和随后遍历结果的功能一次实现,比较方便: $db = sqlite_open("TestDb"); 4 使用回调函数的方法 exec(sqlstr,callback,callpara) sqlstr设置为string: "SELECT * FROM MyFood where status =0 limit 100" 然后update所select出的set中所有status为1(表示已被读出) 这种方式可以控制每次被select出的set数量,当数据库非常大时,性能优于使用select * (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |