1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
package monpackage;
import java.sql.*;
import java.sql.DriverManager;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Driver;
public class ConnectDB {
static Connection con = null;
static ResultSet resultats = null;
private Message msg = new Message();
public ConnectDB() {
//************************************************************
//**chargement du pilote
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e) {
msg.error("impossible de charger le pilote jdbc:odbc");
}
try {
//String DBurl="jdbc:odbc:"+DSN;
//String DBurl= "jdbc:mysql://"+params.get(0)+"/"+params.get(3);
String DBurl = "jdbc:mysql://ip_seveur/nom_bd";
String login = "root";
String password = "";
Driver monDriver = new com.mysql.jdbc.Driver();
DriverManager.registerDriver(monDriver);
con = (Connection) DriverManager.getConnection(DBurl, login, password);
}
catch (SQLException c) {
msg.error("impossible de se connecter au serveur:\nVeuillez vérifier les paramètres de connexion au serveur \ndans le fichier .\\params\\params.ini\n(Adresse/nom du serveur,nom dutilisateur et mot de passe)\n ");
System.out.print(c.getMessage());
System.exit(0);
}
}
//**********************Exécute les requêtes de MAJ ds la BD**********************************
public void SQLupdate(String req) {
try {
Statement stmt = con.createStatement();
stmt.executeUpdate(req);
msg.dialog("requette executée avec succes");
}
catch (SQLException e) {
msg.error("Impossible d'executer la requete : \n" + e);
}
}
public void SQLupdateNotResponse(String req) {
try {
Statement stmt = con.createStatement();
stmt.executeUpdate(req);
//msg.dialog("requette executée avec succes");
}
catch (SQLException e) {
msg.error("Impossible d'executer la requete: \n" + e.getMessage());
}
}
//************************************************************************
public boolean SQLupdateResponse(String req) {
try {
Statement stmt = con.createStatement();
stmt.executeUpdate(req);
msg.dialog("requette executée avec succes");
return true;
}
catch (SQLException e) {
msg.error("Impossible d'executer la requete: \n" + e.getMessage());
return false;
}
}
//----------------Exécute les requêtes de lecture ds la BD------------
public void SQLquery(String sql) {
//execution de la requête
try {
Statement stmt = con.createStatement();
resultats = stmt.executeQuery(sql);
}
catch (SQLException e) {
msg.error("Impossible d'exécuter la requête" + e.getMessage());
//System.exit(0);
}
}
//****************Retourne le nombre de ligne de la requête****************
public int numRows(String sql) {
int nbre = 0;
SQLquery(sql);
try {
//ResultSetMetaData rsmd = resultats.getMetaData();
//int nbCols = rsmd.getColumnCount();
boolean encore = resultats.next();
while (encore) {
encore = resultats.next();
nbre++;
}
resultats.close();
}
catch (SQLException e) {
msg.error(e.getMessage());
}
return nbre;
}
//*******************Retourne le nombre de colonne d'un requête**********************************
public int numCols(String sql)
{
int nbre = 0;
SQLquery(sql);
try {
ResultSetMetaData rsmd = resultats.getMetaData();
nbre = rsmd.getColumnCount();
resultats.close();
}
catch (SQLException e) {
msg.error(e.getMessage());
}
return nbre;
}
//***************Retourne une matrice de données (résultat de la requête prise en paramètre) *********************
public String[][] DataQuery(String query) {
int rows = numRows(query);
int cols = numCols(query);
String[][] donnees = new String[rows][cols];
SQLquery(query);
try {
ResultSetMetaData rsmd = resultats.getMetaData();
int nbCols = rsmd.getColumnCount();
boolean encore = resultats.next();
int numTuple = 0;
while (encore) {
for (int i = 0; i < nbCols; i++) {
donnees[numTuple][i] = resultats.getString(i + 1);
}
encore = resultats.next();
numTuple++;
}
resultats.close();
}
catch (SQLException e) {
msg.error(e.getMessage());
}
return donnees;
}
} |
Partager