Como consultar en oracle

Creo que los SELECT que pones ahí van por buen camino, pero no soy
experto en SQL y no sabría cómo hacer lo que necesitas. Creo que
deberías intentar instalar el adaptador de Oracle. Te aseguro que una
vez que lo tengas instalado no vas a volver a querer utilizar SQL puro
y duro excepto a lo mejor para acciones muy complejas y tus problemas
se van a solucionar de golpe.

Pepe

On Feb 26, 4:37 pm, Oraldo alarcon [email protected]

Muy bien. Ya he conseguido que funcione. Espero que ésto te ayude.

En el controlador:
def mi_accion
@pager = ::Paginator.new(Mi_tabla.count, 5) do |offset, per_page|
Mi_tabla.find(:all, :limit => per_page, :offset => offset)
end

@page = @pager.page(params[:page])

end

El número 5 es el número de líneas por página. Por supuesto lo podrías
reemplazar con una variable que tendrías que inicializar.

En la vista:

<% @page.each do |mi_tabla| %> <% end %>
Columna 1 Columna 2 Columna 3
<%= mi_tabla.columna1 %> <%= mi_tabla.columna2 %> <%= mi_tabla.columna3 %>

<%= @page.number %>
<%= link_to( “Prev”, :page => @page.prev.number) if @page.prev? %>
<%= link_to( “Next”, :page => @page.next.number) if @page.next? %>

Pepe

On Feb 26, 4:37 pm, Oraldo alarcon [email protected]

como esta la cosa amigo pepe como vas con tu proyecto que has logrado
el paginado me tiene saliendo canas verdes aun no consigo la solucion
estoy haciendo
otras cositas saludos

Hola amigo pepe como has estado espero que bien!-!
pana tengo un problema con lo siguiente estoy haciendo una busqueda de
un numero de orden la cual debo ingresar un numero ‘x’ y me debe arrojar
la siguiente informacion Nombre_del_Cliente ,Monto_Venta,Categoria
Actual el cual ya me la esta presentando pero se requiere de
modificar,pero cuando le doy al boton de modificar no extrae los datos a
modificar esto lo estoy haciendo en oracle ya que el paginar me
comio,estoy haciendo estas consulta de esta manera no se tu si tienes el
conocimiento para ayudarme en este paso te lo agradeceria un saludo
oraldo alarcon
venezuela-zulia

No me va mal. Mi aplicación está prácticamente terminada. Estoy
esperando a que los usuarios me digan si hay algo que cambiar. La
paginación funciona sin ningún problema.

Esta debe ser la 3ª o 4ª vez que te lo digo pero creo que deberías
dejar de utilizar SQL y empezar a utilizar el adaptador. Creo que la
mayoría de tus problemas vienen por
ahí.
Si no utilizas el adaptador esto es lo que creo que deberías hacer
basado en la siguiente
instrucción:
@pager = ::Paginator.new(Mi_tabla.count, 5) do |offset, per_page|
Mi_tabla.find(:all, :limit => per_page, :offset => offset)
end

Tienes que remplazar “Mi_tabla.count” con una variable en la que hayas
almacenado el número de registros en tu tabla, que habrás obtenido con
una sentencia SQL. Además tienes que remplazar “Mi_tabla.find
(:all, :limit => per_page, :offset => offset)” con un array que
contenga los datos de los registros que quieres procesar. Cuando
construyas el array la sentencia SQL tiene que utilizar LIMIT y
también OFFSET, pero no sé si esa funcionalidad existe en Oracle ahora
mismo.

He encontrado un ejemplo para MySQL en la página

SELECT column FROM table
LIMIT 10 OFFSET 10

He buscado también por si lo podía encontrar en Oracle y he encontrado
otra página (http://rifers.org/blogs/gbevin/2004/1/25/
limit_and_offset_in_oracle) donde se decía que LIMIT y OFFSET no
existen en Oracle (el artículo de la página es de 2004) pero que se
podía conseguir el mismo efecto con la siguiente sentencia:

SELECT * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY column1) LINENUM, column1,
column2
FROM MyTable
ORDER BY column1
)
WHERE LINENUM BETWEEN 100 AND 200;

No he verificado nada pero a pesar de no conocer todos los “keywords”
utilizados la sentencia parece legítima.

De todas formas lo que están intentando hacer con el paginador es algo
que podrías hacer manualmente y creo que sería bastante sencillo. Lo
único que tienes que hacer es saber qué página necesitas mostrar (la
primera cuando sea la primera vez que construyes la página y luego te
lo proporcionará el usuario) y cuántos registros hay en cada página.
Con esos dos datos puedes seleccionar los registros que necesites de
tu completo resultset y generar la página con ellos.

Espero que esto te ayude.

Pepe

On Mar 3, 5:14 pm, Oraldo alarcon [email protected]