Foros del Web » Programación para mayores de 30 ;) » Java »

DatabasMetaData

Estas en el tema de DatabasMetaData en el foro de Java en Foros del Web. Hola, tengo esta duda, quiero actuar con el objeto databasemetadata y access, para ello me creo una BD access con 2 tablas (emp y dept) ...
  #1 (permalink)  
Antiguo 29/11/2005, 14:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 21
Antigüedad: 19 años, 2 meses
Puntos: 0
DatabasMetaData

Hola, tengo esta duda, quiero actuar con el objeto databasemetadata y access, para ello me creo una BD access con 2 tablas (emp y dept) y hago la conexion ODBC, una vez echo esto me pongo a programar, utilizo un JSP y un Bean, pero no me salen los nombres de las tablas , el ejercicio consiste en que me salga una lista desplegable con los nombres de las tablas del metadata.

J1.JSP

<%@ page contentType=\\\"text/html;charset=windows-1252\\\" import=\\\"Sept.Datos\\\"%>
<jsp:useBean id=\\\"d\\\" class=\\\"Sept.Datos\\\" scope=\\\"session\\\" />

<%
String seleccionado = request.getParameter(\\\"select0\\\");
if((seleccionado!=null)&&(!seleccionado.equals(\\\ "\\\")))
{
d.seleccionado = seleccionado;
}

%>

<html>
<head>
<meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=windows-1252\\\">
<title>
ExaSept05Dic
</title>
</head>
<body>
<form>
<select name=\\\"select0\\\" onChange=\\\"submit()\\\">
<%=d.Select0()%>
</select><br><br>
</form>
</body>
</html>

DATOS.JAVA

package Sept;
import java.sql.*;

public class Datos
{
public String seleccionado;
DatabaseMetaData dbmd;
public Datos()
{
try
{
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
Connection cn = DriverManager.getConnection(\\\"jdbc:odbc:examen\\ \");
//Statement st = cn.createStatement(); Esta se sustituye por la metadata
dbmd = cn.getMetaData();
}catch(Exception e)
{
System.out.println(e);
}
}
public String Select0() throws Exception
{
ResultSet rs = dbmd.getTables(null,null,null,null);
String select0;
select0=\\\"<option value=\\\'\\\'>Selecciona un departamento</option>\\\";

while(rs.next())
{
//if((seleccionado!=null)&&(Integer.parseInt(rs.getS tring(1)))==Integer.parseInt(seleccionado))
//seleccionado se supone que recoge el valor de la opcionn que ha sido selecionada
if (rs.getString(3).equals(seleccionado))
select0=select0+\\\"<option selected value=\\\"+rs.getString(3)+\\\">\\\"+rs.getString( 3)+\\\"</option>\\\";
else
select0=select0+\\\"<option value=\\\"+rs.getString(3)+\\\">\\\"+rs.getString( 3)+\\\"</option>\\\";
}
return select0;
}
}

Ejecuto y me da el siguiente ERROR:

500 Internal Server Error
java.sql.SQLException: No data found
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java :7139)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.j ava:3908)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Jdbc OdbcResultSet.java:5702)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbc ResultSet.java:356)
at Sept.Datos.Select0(Datos.java:34)
at _J1._jspService(_J1.java:60)
[SRC:/J1.jsp:23]
at com.orionserver[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.ja va:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageT able.java:349)
at oracle.jsp.runtimev2.JspServlet.internalService(Js pServlet.java:509)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet .java:413)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(Servl etRequestDispatcher.java:778)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInter nal(ServletRequestDispatcher.java:317)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(Htt pRequestHandler.java:790)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHan dler.java:270)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHan dler.java:112)
at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.ru n(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)


Alguien puede ayudarme por favor?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:24.