<%@ page language="java" import="java.sql.*, pgsql.Usager" %>
Requêtes à une BD PostgreSQL
<%
// ----------------------------------------------------------------
// FORM PARAMETERS
// action : [ connectez | deconnectez | question ]
// sqlQuery : a SQL request (only for "question" )
// sqlTitle : a comment for the query (only for "question" )
// sqlUser : the SQL account (only for "connectez")
// sqlPwd : the SQL account password (only for "connectez")
// sqlDb : the SQL data base (only for "connectez")
//
// ----------------------------------------------------------------
String action = request.getParameter("action");
String sqlQuery = request.getParameter("sqlQuery");
String sqlTitle = (request.getParameter("sqlTitle") ==null ) ? "REPONSE"
: request.getParameter("sqlTitle");
int nbLines=0;
if (action==null) {
action="deconnectez"; //for a first call to this page
} else if (action.equals("connectez") ) {
usr.sqlUser= request.getParameter("sqlUser");
usr.sqlPwd= request.getParameter("sqlPwd");
usr.sqlDb= request.getParameter("sqlDb");
usr.login();
if (usr.errFlag) {
out.println (usr.errMsg + " ");
out.println ("usager= " + usr.sqlUser + " ");
out.println ("base de donnees= " + usr.sqlDb + " ");
}
} else if ( action.equals("deconnectez") ) {
usr.logout();
if (usr.errFlag) out.println (usr.errMsg);
}
// action != null
// action =="deconnectez" for a first call to the page or for a logout
// in both case, usr.connected==false
if (usr.connected) {
%>
Vous êtes connecté(e) à PostgreSQL sur dbms.essi.fr
Usager : <%= usr.sqlUser %> Base : <%= usr.sqlDb %>
<%
if ( action.equals("question") && sqlQuery != null ) {
%>
<%=sqlTitle%>
<%= sqlQuery %>
<%
// ------------------------------------------------
// Execution de la requete
// ------------------------------------------------
try {
// Create a statement
Statement stmt = usr.conn.createStatement();
// Execute the query
ResultSet rset = stmt.executeQuery(sqlQuery);
ResultSetMetaData rsmd = rset.getMetaData();
int sqlNumbCol = rsmd.getColumnCount();
// Dump the result
out.println( " \n" );
for (int i=0; i " + rsmd.getColumnLabel(i+1) + "
" );
}
out.println( " " );
out.println( " \n" );
for (int i=0; i " + rsmd.getColumnTypeName(i+1) + "
" );
}
out.println( " " );
nbLines=0;
while (rset.next()) {
out.println( "" );
for (int i=0; i" +
( (colTypeName.equals( "text") || colTypeName.equals( "VARCHAR") || colTypeName.equals( "CHAR" ) )
? new String ( rset.getBytes(i+1), "ISO-8859-1")
: rset.getString(i+1) ) +
" " );
}
out.println( " " );
nbLines +=1;
}
stmt.close();
}
catch (Exception eSQL) {
// Oops
out.println( "" );
out.println( " ERREUR SQL :
" + eSQL.getMessage () + " " );
out.println( " " );
}
%>
Nombre de lignes = <%= nbLines %>
<%
} //end of if (.... question ...)
} // End of if (...connected ...)
%>
<%
if (usr.connected) {
%>
Remplissez votre requête SQL
Déconnectez-vous avant de nous quitter SVP
<%
} //end of if .;(connected) ..
%>
Nouvelle Connexion
Modifiez les deux champs qui suivent pour vous connecter à un compte PostgreSQL :
Nom d'usager
Mot de passe
Base de données (en général id. Nom d'usager)