A voir également:
- Remplir une table mysql de manière itérative
- Table ascii - Guide
- Table des matières word - Guide
- Organigramme a remplir word - Guide
- Remplir et signer pdf - Guide
- Mysql community server - Télécharger - Bases de données
6 réponses
hellomoto1
Messages postés
440
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
25 mars 2013
85
19 mars 2013 à 11:36
19 mars 2013 à 11:36
Bonjour,
pourquoi la condition resultat.next()),ton traitement dependera de la longueur de ton fichier donc je vois pas l'utilité de cette condition,cette derniere s'utilise quand on recuepere des enregistrement de la base via une requete select pour tester s'il ya toujours une ligne suivante a traiter ...
GoodLuck
pourquoi la condition resultat.next()),ton traitement dependera de la longueur de ton fichier donc je vois pas l'utilité de cette condition,cette derniere s'utilise quand on recuepere des enregistrement de la base via une requete select pour tester s'il ya toujours une ligne suivante a traiter ...
GoodLuck
oui c'est vrai, j'ai enlevé cette instruction mais mon code ne focntionne pas rien n'est ajouté dans la table, voici le code de toute la classe, je ne vois pas ou est le problème
public class DBUpdate {
// Attributs de la classe
static File fichier;
static String separateur;
static String SQLTable;
static String colonne;
String chaine ;
public DBUpdate(File fichier, String separateur, String SQLTable, String colonne) {
// initiasation des attributs
this.fichier=fichier;
this.separateur=separateur;
this.SQLTable=SQLTable;
this.colonne=colonne;
String url = "jdbc:mysql://localhost:3306/base";
String username = "root";
String password = "2424";
try{
// connexion à la base
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connexion = DriverManager.getConnection(url, username, password);
Statement instruction = connexion.createStatement();
ResultSet resultat = instruction.executeQuery ("SELECT * FROM "+ this.SQLTable);
try {
InputStream ips=new FileInputStream(fichier);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while((ligne=br.readLine())!=null){
String [] str = ligne.split(separateur);
chaine = str[1];
instruction.executeUpdate ("INSERT INTO "+this.SQLTable+ "("+this.colonne+") VALUES ('"+chaine+"')");
}
br.close();
connexion.close();
}catch(FileNotFoundException ei){}
} catch (Exception e) {System.out.println("echec pilote :" +e); }
}
public static void main(String[] args) {
DBUpdate r=new DBUpdate(new File("/root/Desktop/peerIP.txt"),"=","BGP_Peers","Peer_Name");
}
}
public class DBUpdate {
// Attributs de la classe
static File fichier;
static String separateur;
static String SQLTable;
static String colonne;
String chaine ;
public DBUpdate(File fichier, String separateur, String SQLTable, String colonne) {
// initiasation des attributs
this.fichier=fichier;
this.separateur=separateur;
this.SQLTable=SQLTable;
this.colonne=colonne;
String url = "jdbc:mysql://localhost:3306/base";
String username = "root";
String password = "2424";
try{
// connexion à la base
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connexion = DriverManager.getConnection(url, username, password);
Statement instruction = connexion.createStatement();
ResultSet resultat = instruction.executeQuery ("SELECT * FROM "+ this.SQLTable);
try {
InputStream ips=new FileInputStream(fichier);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String ligne;
while((ligne=br.readLine())!=null){
String [] str = ligne.split(separateur);
chaine = str[1];
instruction.executeUpdate ("INSERT INTO "+this.SQLTable+ "("+this.colonne+") VALUES ('"+chaine+"')");
}
br.close();
connexion.close();
}catch(FileNotFoundException ei){}
} catch (Exception e) {System.out.println("echec pilote :" +e); }
}
public static void main(String[] args) {
DBUpdate r=new DBUpdate(new File("/root/Desktop/peerIP.txt"),"=","BGP_Peers","Peer_Name");
}
}
hellomoto1
Messages postés
440
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
25 mars 2013
85
19 mars 2013 à 12:11
19 mars 2013 à 12:11
tes requetes me semble incorrectes,tu dois verifier la syntaxe de tes requetes ,par exemple pour "SELECT * FROM "+ this.SQLTable ,doit etre comme ceci
"select * from \"" + this.sql +"\"";
d'ailleur je vois pas l'utilité de cette requete.
goodluck
"select * from \"" + this.sql +"\"";
d'ailleur je vois pas l'utilité de cette requete.
goodluck
non aucun problemes avec les requêtes j'ai une autre classe qui utilise la meme syntaxe sans probleme et l'utilité de la requête c'est remplir la base!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hellomoto1
Messages postés
440
Date d'inscription
mardi 12 août 2008
Statut
Membre
Dernière intervention
25 mars 2013
85
19 mars 2013 à 12:30
19 mars 2013 à 12:30
je parle de cette requette ""SELECT * FROM "+ this.SQLTable"
elle te servira a quoi dans ton code?
elle te servira a quoi dans ton code?
j'ai oublié de l'enlevée mais elle servira lorsque la table sera pleine. mais bon je l'ai enlevé et ca ne marche pas, je crois que le problème viens de la clause try qui permet la lecture du fichier, je crois que ca bloque le processus d'ecriture dans la base car je l'ai enlevé et la requête SQL marche.
ce que je veux faire moi c'est ouvrire une connexion vers la base, lire la 1ere ligne du fichier, la mettre dans la table, et refaire ce traitement jusqu'à ce que toutes les lignes du fichiers soient parcourues puis fermer la connexion. voila si tu peu m'aider n'hesite pas.
ce que je veux faire moi c'est ouvrire une connexion vers la base, lire la 1ere ligne du fichier, la mettre dans la table, et refaire ce traitement jusqu'à ce que toutes les lignes du fichiers soient parcourues puis fermer la connexion. voila si tu peu m'aider n'hesite pas.