Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 06-ago-2007, 01:52   #1 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Exclamación Problema con sentencia SQL y distinct

A los buenos dias.......
Tengo un problema ya que necesito sacar unos datos de mi base pero no quiero los que esten repetidos y despues meterlos en una combo. Todo me funciona correctamente si en la sentencia no pongo la palabra distinct.
Si pongo la sentencia como deberia me salta un error de estado del cursor no valido

Esta es la sentencia
Cita:
String sql = "select distinct unidadCultivo from unidadCultivo";
Alguna idea??
Power_3L está desconectado   Responder Citando
Antiguo 06-ago-2007, 04:45   #2 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.487
Re: Problema con sentencia SQL y distinct

Este es un problema de SQL, mas que de Java, pero igualmente... ¿unidadCultivo es un campo dentro de la tabla unidadCultivo?

S!
GreenEyed está desconectado   Responder Citando
Antiguo 06-ago-2007, 05:08   #3 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Re: Problema con sentencia SQL y distinct

sisisisisi se llaman =, hay alguna forma de solucionarlo????
Power_3L está desconectado   Responder Citando
Antiguo 06-ago-2007, 08:21   #4 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.487
Re: Problema con sentencia SQL y distinct

Bueno, no se si tendra que ver con el error pero no es muy buena idea que los dos nombres sean iguales.

Respecto al error, pues habría que ver el error completo y exactamente la linea en que te da, si no, es complicado.

S!
GreenEyed está desconectado   Responder Citando
Antiguo 07-ago-2007, 00:32   #5 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Re: Problema con sentencia SQL y distinct

El error que me da es el de estado del cursor no valido y me da en la linea donde recibo el contenido del resulset rs.getString(1);

Cita:
java.sql.SQLException: [Microsoft][Administrador de controladores ODBC] Estado del cursor no válido
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unkn own Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at cfa.unidades_cultivo.cargarCombo(unidades_cultivo. java:344)
at cfa.unidades_cultivo.jbInit(unidades_cultivo.java: 309)
at cfa.unidades_cultivo.<init>(unidades_cultivo.java: 96)
at cfa.PI_pesProductor.bt_unidades_actionPerformed(PI _pesProductor.java:274)
at cfa.PI_pesProductor_bt_unidades_actionAdapter.acti onPerformed(PI_pesProductor.java:331)
at javax.swing.AbstractButton.fireActionPerformed(Unk nown Source)
at javax.swing.AbstractButton$Handler.actionPerformed (Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent( Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(U nknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unkno wn Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Cita:
rs = orden.executeQuery(sql);
rs.beforeFirst();
do{
rs.next();
jCB_unidad.addItem(rs.getString("unidadCultivo")); -->aqui es la linea del error
}while(rs.isLast()==false);

Última edición por Power_3L; 07-ago-2007 a las 01:06.
Power_3L está desconectado   Responder Citando
Antiguo 07-ago-2007, 03:46   #6 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.487
Re: Problema con sentencia SQL y distinct

Has probado con un simple...
Código:
rs = orden.executeQuery(sql);
while(rs.next())
{
  jCB_unidad.addItem(rs.getString("unidadCultivo"));
}
O en todo caso, prueba con rs.getString(1);

El error parece en si un problema con el ODBC que hay por debajo, ya que segun que tratamiento con los cursores no le gusta. Así que cuanto más simple lo hagas, mejor.

S!
GreenEyed está desconectado   Responder Citando
Antiguo 07-ago-2007, 04:20   #7 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Re: Problema con sentencia SQL y distinct

Na hijo no hay manera he probado las que dices y na me sigue saltando ese error(en la misma linea) y todo por el DISTINCT de las narices no se como hacerlo pa que no me de error y no me les repita
Power_3L está desconectado   Responder Citando
Antiguo 07-ago-2007, 09:42   #8 (permalink)
GreenEyed tiene algunos puntos positivos de karma
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.487
Re: Problema con sentencia SQL y distinct

Que raro. Es una tonteria pero... ¿la BDD que usas soporta esa construccion? A todo esto... ¿cual es?

S!
GreenEyed está desconectado   Responder Citando
Antiguo 08-ago-2007, 00:37   #9 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Re: Problema con sentencia SQL y distinct

es una bd access simple y llana no tiene nada raro ni na.
El error ya no me le da si quito el distinct pero claro lo que necesito que me devuelva son todos pero sin que se repitan otra manera de hacerlo?
Power_3L está desconectado   Responder Citando
Antiguo 10-ago-2007, 00:26   #10 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Re: Problema con sentencia SQL y distinct

Q nadie me puede ayudarmeeeeeeee
Power_3L está desconectado   Responder Citando
Antiguo 16-ago-2007, 04:52   #11 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Re: Problema con sentencia SQL y distinct

Siempre Que Tengo Que Usar La Sentencia Distinct En Un Resultset Me Salta Un Error De Estado De Cursor No Valido.

Hay Alguna Forma De Solucionar Este Problema!!!!!!!!!!!!!!!!!

Necesito Usar El Distinct Para Discrimiar Los Datos Repetidos En La Consulta Si Hay Otra Forma De Hacerlo Me Gustaria Saberlo.....
Power_3L está desconectado   Responder Citando
Antiguo 16-ago-2007, 15:47   #12 (permalink)
WinDoctor ha deshabilitado el karma
 
Avatar de WinDoctor
 
Fecha de Ingreso: octubre-2006
Mensajes: 41
Enviar un mensaje por MSN a WinDoctor Enviar un mensaje por Yahoo  a WinDoctor Enviar un mensaje por Skype™ a WinDoctor
Triste Re: Problema con sentencia SQL y distinct

Antes que nada he de hacerte una humilde recomendación.

No uses Access!!

Tienes a la mano a MySQL o a Possgress o en su defecto bien puedes usar la versión Express de SQL Server.

Este mismo error me paso hace unos meses, cuando me dejaron migra un sistema hecho en VB a una version Java. Lo primero que hice solo por probar las consultas, insersiones, actualizaciones, etc fué conectarme desde Java ala BD que me dieron, que estab hecha en Access.

Mi problema empezo cuando me desplazaba por los JTables, cuanod lo hacia, es cuanod me lanzaba esa excepción.

Al momento no pude solucionarlo y no me intereso en esforzarme por hacerlo puesto que solo era una prueba y la nueva BD la haria en MySQL.

Como comentan, Access tien algunos problemas con esto de los cursores.

Al momento de crear tu conexión, verifica que en tu sentencia createStatement la tengas sin NINGUN parámetro...

Recibe un cordial saludo!!
WinDoctor está desconectado   Responder Citando
Antiguo 17-ago-2007, 01:02   #13 (permalink)
Power_3L no se puede cailificar en este momento
 
Fecha de Ingreso: abril-2007
Mensajes: 75
Re: Problema con sentencia SQL y distinct

La movie es que es la BD de datos que usan en el trabajo, que cuando llege dige madre con lo buena y barata que es MySQl, asi que de momento no le puedo hacer otra cosa que trabajar con ella.
La sentencia esta bien el error esta cuando hago la select con distinct que me salta el error ya que si la misma sentencia la quito el distinct me funciona a las mil maravillas
Power_3L está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:15.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93