我正在使用游标在存储过程中进行选择,我想知道如果我可以在不使用游标的情况下进行相同的选择。
@Override
public void updateScreenMovies(ArrayList<Movie> movies) {
gvNieuw.setAdapter(new ImageAdapter(getActivity(),movies));
}
答案 0 :(得分:1)
从技术上讲,您可以将结果集转换为ARRAY,然后循环遍历数组 - 但是为了什么?
主要问题是您希望自动为与基于时间的WHERE条件匹配的任何用户授予权限。 在大多数情况下,这不是一个好主意。
避免游标的目的是允许DBMS优化SQL命令。告诉DBMS你想要什么数据,而不是如何产生它。
在这个例子中,它确实在性能上没有任何区别。
一个更重要的因素是你运行SELECT *,即使你只需要USER_NAME并且你的R变量被声明为VARCHAR(50)(如果你想将USER_NAME存储在其中,这是错误的)但实际上从未实际用过的。 FOR循环中的R变量存在于不同的有效性上下文中,实际上包含游标的当前行。