Prob insertion avec jdbc

cs_jacoco Messages postés 9 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 avril 2004 - 28 avril 2004 à 09:12
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004 - 28 avril 2004 à 14:44
bonjour,

je débute en jdbc et j'utilise une base access 97.

j'ai fait une classe Database pour gérer la connexion et les recherches


public void modif(String req)
{
int NbIns=200;

try
{
Statement s = this.getconnexion().createStatement(); 

System.out.println("pointeur statement "+s);
System.out.println("requete"+req);

NbIns = s.executeUpdate(req) ; 
System.out.println(NbIns+" ligne insérée");
}
    catch (SQLException e)
    {
System.err.println("Probleme insertion");
while(e!=null){
System.err.println(e.toString());
e=e.getNextException();
}
    }
}

je souhaite que cette méthode m'éxécute ma mise à jour

et ma classe appelante je fais
//creation d'un objet Database afin de charger le driver odbc
_B1=new Database("sun.jdbc.odbc.JdbcOdbcDriver");

//ouverture du lien ODBC sur l'objet Database
_B1.Open("jdbc:odbc:trivial","root","");

String req="INSERT INTO Partie (Nom_partie) VALUES ('"+this.nompart()+"')";  
     
     	_B1.modif(req); 

voila la methode modifie crée bien le statement, reçoit bien la requete
mais renvoie jamais qu'elle a inséré une ligne.
L'erreur renvoyée dans le cacth est la suivante:
java.sql.SQLException:[Microsoft][Pilote odbc Microsoft Access] Erreur de syntaxe dans l'instruction INSERT INTO

Avez vous des idées qui permettent d'effectuer des requ^^etes génériquement.
Merci de votre aide.
Tchao

5 réponses

cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
28 avril 2004 à 10:35
!!! CHANGE DE DB, ACCESS N'EST PAS STANDARD SI TU VEUX RATER TES EXPERIENCES EN DB UTILISE ACCESS :-/

EXAMPLE: insert into
mytable ( txt1, date1, txt2, date2, txt3, etc.)
values ( 'foo', '2004-02-29', 'bar', null, 'qux', etc.)

B@ron {EU.BELGIUM}
0
JBAware Messages postés 174 Date d'inscription lundi 23 septembre 2002 Statut Membre Dernière intervention 6 avril 2011 1
28 avril 2004 à 14:21
8-) JB@WAre

voici la syntaxe le nom de la table doit être entre [ et ]
String req="INSERT INTO [Partie] (Nom_partie) VALUES ('"+this.nompart()+"')"; 


au fait tds, d'accord avec toi pour ACCESS N'EST PAS STANDARD mais néanmoins sa portabilité est un plus ...
0
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
28 avril 2004 à 14:24
Euh, petit défit: trouver un driver pour accéder une db Access depuis unix sans acheter un driver...
(Quelle ligne d'accès pour 1 DB Access depuis unix??? dans ton fichier .properties??? ...)

Allbase, SAP, Oracle, Sybase, PointBase, ... Tout est compatible entre OS...

J'ai du louper l'intérêt du coté portable d'Access Aie merd...!!!

B@ron {EU.BELGIUM}
0
JBAware Messages postés 174 Date d'inscription lundi 23 septembre 2002 Statut Membre Dernière intervention 6 avril 2011 1
28 avril 2004 à 14:37
8-) JB@WAre

Gagné je m'incline, mille excuses, je suis petit.
le terme portabilité n'est pas vraiment ce à quoi je pensais disons que l'intérêt est plutôt ... je terminerai cette phrase une autre fois .

Néanmoins il arrive parfois que l'utilisation de Access en temps que bd sous Windows bien sûre soit plus facile à mettre en place que mysql, oracle, db2, ... et ca c'est pas négligeable et n'est pas complètement dénué d'intérêt.
Si tu dois traiter et stocker un certains nombres de données, trop pour les stockées dans de simples fichiers et pas assez pour rentabiliser un investissement aussi bien en temps qu'en argent dans un autre système, oui je le dis et même si ca peut te choquer, Access et Excel sont une bonne alternative.

En résumé c'est un bon dépannage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_tds Messages postés 351 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 9 décembre 2004
28 avril 2004 à 14:44
Là, je suis d'accord :p
Mais tjs pour des solutions très temporaires...

B@ron {EU.BELGIUM}
0
Rejoignez-nous