Résultats différent avec SQL+ et avec mon prog java [JDBC] - Java - Programmation
Marsh Posté le 04-06-2006 à 10:46:33
Je travaille avec Oracle 10g, J4ai un petit programme JAva qui va simplement me faire un 'SELECT * FROM station' Le problème, c'est qu'il ne me retourne rien (si ce n'est le titre des colonnes ...) Mon prog :
package toto; public class application { public application() { super(); } public static void main(String[] args) { String jdbcDriver = args[0]; String url = args[1]; String username = args[2]; String password = args[3] ; char choix = '1'; Gestion_SGBD mySGBD = new Gestion_SGBD(jdbcDriver,url,username,password); switch (choix){ case '1' : mySGBD.Query("station","lieu" ); break; default : break; ) } private static void menu(){ System.out.println("1. Liste" ); System.out.println("6. Quitter" ); }}
Et ma classe qui 'gère' Oracle:
package toto; import java.sql.DriverManager;import java.sql.Connection;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList; public class Gestion_SGBD { private String jdbcDriver; private String url; private String username; private String password; private static Connection databaseConnection; //The database connection public Gestion_SGBD(String _jdbcDriver, String _url, String _username, String _password) { super(); // TODO Auto-generated constructor stub jdbcDriver = _jdbcDriver; url = _url; username = _username; password = _password; System.out.println("Loading JDBC driver: " + jdbcDriver); try { Class.forName (jdbcDriver); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public ResultSet Query(String tableName, String columnName){ Statement myRequest = null; ResultSet myResult = null; try { System.out.println("Connection to : " + url); databaseConnection = DriverManager.getConnection (url, username, password); myRequest = databaseConnection.createStatement(); myResult = myRequest.executeQuery("SELECT " + columnName + " FROM " + tableName); DataShow(myResult); myRequest.close(); databaseConnection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return myResult; } public void DataShow(ResultSet result) { try { ResultSetMetaData myResultMetaData = result.getMetaData(); ArrayList strRes = new ArrayList(); System.out.println ("Resultat: " ); int nbColonnes = myResultMetaData.getColumnCount(); for (int i = 1; i<nbColonnes+1; i++){ strRes.add(myResultMetaData.getColumnLabel(i)); } String titre = ""; for (int i = 0; i<strRes.size(); i++){ titre+=" | " + strRes.get(i); } System.out.println(titre); String res = ""; while ( result.next() ) { for (int i = 1; i<nbColonnes+1; i++){ res += " | " + result.getString(i); } System.out.println (res); } } catch (SQLException e) { System.out.println ("SQL Error: " + e); System.exit(1); } catch (Exception e) { // NullPointerException might occur if property undefined System.out.println ("Other Exception: " + e); System.exit(1); } } }
Le résultat : Loading JDBC driver: oracle.jdbc.driver.OracleDriver Connection to : jdbc:oracle:thin:@192.168.1.2:1521:etu2 Resultat: | LIEU et le résultat via SQL+ SQL> select lieu from station; LIEU ------------------------------ Alpes Guadeloupe Martinique Seychelles SQL> Une idée d'où cela peux venir ?
Marsh Posté le 04-06-2006 à 12:48:01
up ?
Make sure you enter the(*)required information where indicate.HTML code is not allowed
Marsh Posté le 04-06-2006 à 10:46:33
Je travaille avec Oracle 10g,
J4ai un petit programme JAva qui va simplement me faire un 'SELECT * FROM station'
Le problème, c'est qu'il ne me retourne rien (si ce n'est le titre des colonnes ...)
Mon prog :
Et ma classe qui 'gère' Oracle:
Le résultat :
Loading JDBC driver: oracle.jdbc.driver.OracleDriver
Connection to : jdbc:oracle:thin:@192.168.1.2:1521:etu2
Resultat:
| LIEU
et le résultat via SQL+
SQL> select lieu from station;
LIEU
------------------------------
Alpes
Guadeloupe
Martinique
Seychelles
SQL>
Une idée d'où cela peux venir ?
Message édité par didier1809 le 04-06-2006 à 16:37:55
---------------
.