Tâche mal faite

Fermé
shooter - Modifié par Chris 94 le 6/03/2011 à 02:23
Bonjour,
Mon problème:
j'ai un fichier excel en entrée avec spécification et un fichier en sortie;
besoin création d'une table dans une base de donnée sql oracle;
La table sera alimentée a partir du fichier excel en entrée ;

Mon code:
// table
create table fichier_en_Entree6(
ORG VARCHAR2(8),
JOURNAL VARCHAR2(10),
ANNEE VARCHAR2(10),
PERIODE VARCHAR2(20),
DEVISE VARCHAR2(10),
DATE1 VARCHAR2(10),
COMPTE VARCHAR2(15),
REF1 VARCHAR2(10),
REF2 VARCHAR2(2),
REF3 VARCHAR2(2),
REF4 VARCHAR2(2),
LIBELLE VARCHAR2(25),
MONTANT_DEV VARCHAR2(20),
MONTANT_MAD VARCHAR2(20));
//java

code en java:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package RAM1;

/**
*
* @author Abdelalim
*/


import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

import java.sql.Statement;

import jxl.Sheet;
import jxl.Workbook;

public class test235 {

public static void main(String[] args) {
String ORG="", Journal="" ,Annee="" ,Periode="" ,Devise="",date1="",Compte="" ,REF1="" , REF2="" , REF3="" ,REF4="" ,LIBELLE="" ,Montant_DEV="",Montant_Mad="" ,Totale="";

int i;
int val0;
int nombr_enrg;
Connection connexion = null;
Statement statement = null;
ResultSet rs;
int nomb;
String query;
try {
//chemin du fichier excel
File file = new File("C:\\fichier_entree.xls");

Workbook workbook = Workbook.getWorkbook(file);
Sheet sheet = workbook.getSheet(0);
nombr_enrg = sheet.getRows();
nomb = nombr_enrg - 1;
System.out.println("Nombr_enrg :" + " " + nomb);

Connexion c=new Connexion();
c.connecter();
statement = c.connecter().createStatement();

for (i = 1; i <6; i++) {
ORG = sheet.getCell(0, i).getContents();
Journal = sheet.getCell(1, i).getContents();
Annee = sheet.getCell(2, i).getContents();
Periode = sheet.getCell(3, i).getContents();
Devise = sheet.getCell(4, i).getContents();
date1= sheet.getCell(5, i).getContents();
Compte= sheet.getCell(6, i).getContents();
REF1 = sheet.getCell(7, i).getContents();
REF2 = sheet.getCell(8, i).getContents();
REF3 = sheet.getCell(9, i).getContents();
REF4 = sheet.getCell(10, i).getContents();
LIBELLE = sheet.getCell(11, i).getContents();
Montant_DEV = sheet.getCell(12, i).getContents();
Montant_Mad= sheet.getCell(13, i).getContents();
Totale=sheet.getCell(14, i).getContents();

System.out.println(" "+ORG+" " +Journal+" "+ Annee+" "+Periode+ " "+Devise+ " "+date1+" "+Compte+ " "+REF1+" "+REF2+" "+REF3+" "+REF4+" "+LIBELLE+" "+Montant_DEV+ " "+ Montant_Mad+" "+Totale);
String query1="SELECT * FROM fichier_en_Entree6 where Lpad(ORG,20,'0')='"+ORG+"' and Journal='"+Journal+"'and Periode='"+Annee+"'and Periode='"+Periode+"'and Devise='"+Devise+"'and date1='"+date1+"'and Compte='"+Compte+"'and REF1='"+REF1+"'and REF2='"+REF2+"' and REF3='"+REF3+"'and REF4='"+REF4+"'and LIBELLE='"+LIBELLE+"'and Montant_DEV='"+Montant_DEV+"'and Montant_Mad='"+Montant_Mad+"' and Totale='"+Totale+"'";

rs=statement.executeQuery(query1);
if(rs.next()){
//String sql = "UPDATE test SET nom = '"+nom_enrg+"', prenom='"+prenom_enrg+"',age='"+age_enrg+"' ";
// statement.executeUpdate(sql);
System.out.println("l'enregisterement est trouvé et modifié");

}else{
query = "INSERT INTO fichier_en_Entree6(ORG, Journal,Annee,Periode,Devise,date1,Compte,REF1 , REF2, REF3 ,REF4 ,LIBELLE,Montant_DEV,Montant_Mad,Totale) VALUES('" + ORG + "','" + Journal + "','" + Annee + "','" + Periode + "','" + Devise + "','" + date1 + "','" + Compte + "','" + REF1 + "','" + REF2 + "','" + REF3 + "','" + REF4 + "','" + LIBELLE + "','" + Montant_DEV + "','" + Montant_Mad + "','" + Totale + "')";
int val = 0;

val = statement.executeUpdate(query);
if (val == 0)
System.out.println("ERROR");
else
System.out.println("SUCCES");
}

}// fin de boucle for i

}// fin de try

catch (Exception e) {
System.out.println(e.getMessage());
}

}
}

1: problème: insertion et mal faite dans la base de donner;

2:Montant_Mad doit être ajuster a gauche par des zéro ;
exemple: si en a une taille de 10 et Montant_Mad =1000000;nouvel valeur=0001000000
quelqu'un peux m'aider svp?????