%@ page
import="java.sql.*"
%><%
String driver=request.getParameter("driver");
if(driver==null) driver="sun.jdbc.odbc.JdbcOdbcDriver";
String dburl=request.getParameter("dburl");
if(dburl==null) dburl="jdbc:odbc:ECOM"; // quand la source ODBC s'appelle ECOM
String dbusername=request.getParameter("dbusername");
if(dbusername==null) dbusername="admin";
String dbpassword=request.getParameter("dbpassword");
if(dbpassword==null) dbpassword="nimda";
String sqlstatement=request.getParameter("sqlstatement");
if(sqlstatement==null) sqlstatement= "SELECT * from Article";
String encoding=request.getParameter("encoding");
if(encoding==null) encoding="iso-8859-1"; // "UTF-8", ...
String contenttype=request.getParameter("contenttype");
if(contenttype==null) contenttype= "text/xml";
response.setContentType(contenttype);
String xmlstylesheet=request.getParameter("xmlstylesheet");
if(xmlstylesheet==null) xmlstylesheet= "row2html.xsl";
String rowsettag=request.getParameter("rowsettag");
if(rowsettag==null) rowsettag= "ROWSET";
String rowtag=request.getParameter("rowtag");
if(rowtag==null) rowtag= "ROW";
String idtag=request.getParameter("idtag");
if(idtag==null) idtag= "ID";
%>"?>
<%
if(xmlstylesheet.equals("none")==false){
%>"?>
<% } %>
<% try { %>
<<%=rowsettag%>>
<%
Class.forName(driver);
Connection cnx = DriverManager.getConnection(dburl,dbusername,dbpassword) ;
PreparedStatement stmt = cnx.prepareStatement(sqlstatement);
if (stmt.execute()) {
ResultSet rs = stmt.getResultSet();
ResultSetMetaData rsmd = rs.getMetaData();
int numcols = rsmd.getColumnCount();
%><%
for (int i = 1; i <= numcols; i++){
%>
<%=rsmd.getTableName(i)%>
<%=rsmd.getColumnName(i)%>
<%=rsmd.getColumnType(i)%>
<%=rsmd.getColumnTypeName(i)%>
<%=rsmd.getColumnClassName(i)%>
<%
}
%><%
int id=0;
while(rs.next()) {
%>
<<%=rowtag%> <%=idtag%>="<%=id%>">
<%
for(int i = 1; i <= numcols; i++) {
Object obj = rs.getObject(i);
String collabel=rsmd.getColumnLabel(i);
if (obj != null){
out.println( "<"+collabel+">"
+obj.toString()
+""+collabel+">"
);
} else {
out.println("<"+collabel+" null='yes'/>");
}
}
id++;
%><%=rowtag%>>
<%
}
rs.close();
} else {
out.println("");
}
cnx.close();
%>
<%=rowsettag%>>
<% } catch (Exception e) { %>
<%=e.toString()%>
<% } %>