Vous avez des améliorations (ou des corrections) à proposer pour ce document :
je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
package fr.koor.sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
publicclass MainFrame {
// Les informations de connexion à la base de données.privatestaticfinal String JDBC_URL = "jdbc:mysql://localhost/<dbname>";
privatestaticfinal String JDBC_LOGIN = "<username>";
privatestaticfinal String JDBC_PASSWORD = "<password>";
publicstaticvoid main( String[] args ) {
System.out.println( "Welcome to this super app." );
// On lance un scanner sur la console, pour y permettre la saisie// ainsi qu'une connexion à la base de données.try ( Scanner scanner = new Scanner( System.in ) ;
Connection connection = DriverManager.getConnection( JDBC_URL, JDBC_LOGIN, JDBC_PASSWORD ) ) {
// On demande le prix maximum des articles à sélectionner.
System.out.print( "Prix maximum : " );
int maxPrice = Integer.parseInt( scanner.nextLine() );
// On prépare l'ordre SQL à envoyer en base de données.
String sql = "SELECT * FROM T_Articles WHERE unitaryPrice <= ?";
try ( PreparedStatement statement = connection.prepareStatement( sql ) ) {
statement.setInt( 1, maxPrice ); // Les indices de paramètres commencent à 1// On envoie l'ordre SQL en base et on récupère les résultats.try ( ResultSet resultSet = statement.executeQuery() ) {
while ( resultSet.next() ) {
System.out.printf( "%3d: %-20s %-20s = %.2f\n",
resultSet.getInt( "idArticle" ),
resultSet.getString( "description" ),
resultSet.getString( "brand" ),
resultSet.getDouble( "unitaryPrice" ) );
}
}
}
} catch( Exception exception ) {
System.err.println( "Connection à la base de données impossible (" + exception.getMessage() + ")" );
}
System.out.println( "Bye bye" );
}
}
/*
* Pour informations, voici un exemple de code de définition d'une table T_Articles.
*
* CREATE TABLE T_Articles (
* idArticle int(4) PRIMARY KEY AUTO_INCREMENT,
* description text NOT NULL,
* brand text NOT NULL,
* unitaryPrice float(8) NOT NULL
* );
*
*/
Exemple de connexion à une base de données via l'API JDBC.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :