Requetes d'insertion & Suppression ds un BD Access
rakyouna
Messages postés54Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention10 août 2008
-
13 juil. 2005 à 16:07
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 2007
-
8 déc. 2005 à 12:29
Slt à tous,
J'ai un pb au niveau du resultat de requetes d'insertion et de suppression d'enregisrements d'une table de ma Base de Données Access.
Après l'exécution des requetes dans mon programme JAVA, j'aurai aucune modification au niveau des enregistrements.
Alors que l'exécution des mêmes requestes directement dans Microsoft Access, ça marche bien.
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 14 juil. 2005 à 00:22
Salut
Il faut que tu utilises la commande .executeUpdate("INSERT [Blablabla]");
.executeQuery ne fonctionne qu'avec les commande SQL "SELECT ......."
Meme chose pour les commandes SQL de suppression.
Bonne prog ;)
AbriBus
_______________________________
La direction de la RATP vous rappelle que la
dégradation d'AbriBus est passible de lourdes
sanctions.
Ne dégradez pas les AbriBus. L'AbriBus est ton ami.
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 14 juil. 2005 à 10:44
...alors ca par exemple... et Eclipse ne te genere pas d'exception rien...?!!??
J'ai jamais eut de probleme comme ca... les requettes SELECT fonctionnent bien ?
tu peux toujours tenter d'utiliser la commande .execute("COMANDESQL") mais je suis pas convaicu...
AbriBus
_______________________________
La direction de la RATP vous rappelle que la
dégradation d'AbriBus est passible de lourdes
sanctions.
Ne dégradez pas les AbriBus. L'AbriBus est ton ami.
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 14 juil. 2005 à 11:09
Je pense que le probleme vient de la requette SQL elle meme... je dis ca parceque 1 tu est bien connecté a ta base de données et les communications passent bien (pour preuve les commandes SELECT) et 2 tu n'as pas de message d'erreur a l'execution de la commande SQL de suppression ou d'insersion... est tu sure de tes requettes ? je sais que tes requettes sont sensées fonctionner (puisque qu'elles fonctionnent avec Access) mais la je vois vraiment pas...
AbriBus
_______________________________
La direction de la RATP vous rappelle que la
dégradation d'AbriBus est passible de lourdes
sanctions.
Ne dégradez pas les AbriBus. L'AbriBus est ton ami.
rakyouna
Messages postés54Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention10 août 20081 14 juil. 2005 à 11:47
y a-t-il de modes d'ouverture de la BD?
peut-être ma base est ouvert en mode lecture seule.
J'ai utilsé la methode getConnection avec les paramètres suivants: url, login, password :
Mais cette methode peut être utilisée avec les paramètres: url, Properties.
Je sais pas quelle valeur dois-je donner au paramètre Properties. Et si j'utilise ses paramètres où dois-je spécifier le nom utilisateur et le mot de passe de la BD
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 14 juil. 2005 à 12:07
Alors je crois si ca marche en Java comme en Vb qu'il n'y a besoin de donner un login/password que s'il y a un mot de passe dans la base Access (c'est a dire que s'il y en a pas, il n'y a pas besoin d'expliciter qu'il n'y en a pas). La connection à la base de donnees est ouverte en lecture/ecriture... c'est le compte utilisé pour s'y connecter qui peut eventuellement restreint (avec Oracle ca se fait en fonction des commandes par exemple "tel utilisateur ne peut utiliser que la commande SELECT").
Bref, je sais bien que tout ca ne regle pas ton probleme mais comme je te le suggerais, peut etre devrais tu voir au niveau SQL que la requette arrive bien a la base et que celle-ci l'interprete convenablement. Je sais pas quoi te suggerer de plus...
AbriBus
_______________________________
La direction de la RATP vous rappelle que la
dégradation d'AbriBus est passible de lourdes
sanctions.
Ne dégradez pas les AbriBus. L'AbriBus est ton ami.
rakyouna
Messages postés54Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention10 août 20081 14 juil. 2005 à 13:50
La requete suivante a bien marché avec valeur de retour n=-1:
n = S.executeUpdate("CREATE TABLE Clients ( Nom varchar(10) NOT NULL, Question varchar(10), PRIMARY KEY (Nom))");
Alors que la requete :
updateString = connect.prepareStatement("INSERT INTO Clients (Nom, Question ) VALUES (?, ?)");
updateString.setString(1,"MyName");
updateString.setString(2,"MyQuestion");
n = updateString.executeUpdate();
n'a aboutit à aucun resultat et la valeur de retour était n=1.
c pas un problème de compatibilité de types? car les champs Nom et Question, par exemple, sont enregistrés dans la BD Access sous types Texte et non pas varchar.
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 15 juil. 2005 à 00:16
Salut,
je ne me suis jamais servi d'un driver Access et pour cause j'utilise
de véritable SGBD ... mais surement que tes besoins ne sont pes les
mêmes que les miens ! ;-)
En revanche pour ton problème, si avec le même code cela à marcher pour
un mysql et que cela ne marche pas avec access c'est que le prob vient
surement de ton driver. Va sur le site sur lequel tu l'as téléchargé et
renseigne toi sur la question ... je ne pourrais pas t'aider plus et je
pense que c'est le meilleur moyen d'avancer sur ton prob ..
Blue_du_31
Messages postés2Date d'inscriptionmardi 19 juillet 2005StatutMembreDernière intervention20 juillet 2005 19 juil. 2005 à 18:52
Bonjour les gens,
moi aussi j'ai le même problème : les select fonctionnent bien, mais
les insert ne marchent pas (pas d'erreur Java, code de retour = 1, MAIS
rien dans mon fichier Excel).
Je sais pas pourquoi ça veut pas !!! mais je cherche et je post la solution si je résoud mon pb.
PS : je suis obligé d'utiliser du Excel, spa ma faute
rakyouna
Messages postés54Date d'inscriptionlundi 11 juillet 2005StatutMembreDernière intervention10 août 20081 20 juil. 2005 à 15:27
Salut,
Désolé, j'ai pas travaillé avec Excel.
Pour mon problème avec Access, j'ai pas arrivé à le resoudre, j'ai utilisé une base de données MySQL au lieu d'une base Access.
le fait est que le champ date-heure est un date/heure dans acces et que
je n'arrive pas a convertir une chaine de caractere pour l'utiliser
dans ma requete...
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 5 déc. 2005 à 21:45
Salut mister zinzin...
As tu essayé avec les fonctions de conversion du package SQL ? (je crois que c'est java(x?).sql.*
en outre, je sais que certaines base sont particulierement chiante avec les format de date (version US / version FR)... a creuser si ce n'est deja fait.
sinon, bah moi j'ai jamais utilisé que des commandes simples type .executeQuery et .executeUpdate
Bon courrage & bonne prog !!!
AbriBus
_______________________________
La direction de la RATP vous rappelle que la
dégradation d'AbriBus est passible de lourdes
sanctions.
Ne dégradez pas les AbriBus. L'AbriBus est ton ami.
cs_AbriBus
Messages postés492Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention25 avril 20075 8 déc. 2005 à 12:29
meme avec le package SQL ? normalement les champs date/heure doivent etre "normalisés" parceque sur un champs Text tu peux pas demander a ta base de donneés de les trier par date/heure justement... (enfin tu peux, mais ca te triera tes lignes a la "vas comme j'te pousse")
AbriBus
_______________________________
La direction de la RATP vous rappelle que la
dégradation d'AbriBus est passible de lourdes
sanctions.
Ne dégradez pas les AbriBus. L'AbriBus est ton ami.