Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : requete sql qui ne passe pas [ Divers / Général ] (oceane751)

mardi 4 mars 2008 à 23:26:50 | requete sql qui ne passe pas

oceane751

bonjour à tous

je suis sur un problème que je n'arrive pas à resoudre et je viens à vous pour que vous m'aidiez car là j'en peux plus

but de ma partie de code : inserer un nouveau rdv
l'utilisateur entre un nom, une heure et une date
à partir de cette heure et de cette date, je cherche dans ma bdd si pour cette heure il n'y a pas dejà un rdv qui a dejà été entré
si aucun rdv n'a dejà été entré dans la bdd, j'insere un nouveau rdv
le problème est même si une heure a dejà été entré, en fonction d'une date bien sur, ça insere quand meme
donc la verification n'est aps faite et je ne sais pas pourquoi

voici mon code :

[code]

public

void actionPerformed(ActionEvent e)

{

if (e.getSource() == but)

{

Fonction fonc =

new Fonction();

String requetee =

"SELECT heure, date_rdv FROM membres ";

ResultSet res = fonc.Conec(requetee);

try {

while(res.next())

{

String heureReq = res.getString(

"heure");

System.

out.println(heureReq);

String dateReq = res.getString(

"date_rdv");

System.

out.println(dateReq);

if ( (heureReq == textheure.getText()) && (dateReq == textdate.getText()) )

{

JOptionPane.showMessageDialog(

null, "dejà une RDV pour cette heure","deja une RDV pour cette heure", JOptionPane.NO_OPTION );

break;

}

else

{

String requete =

"INSERT INTO membres (nom, heure, date_rdv) VALUES('"+textnom.getText()+"', '"+textheure.getText()+"', '"+textdate.getText()+"')";

//System.out.print(requete);

Fonction foncc =

new Fonction();

int y = foncc.maj(requete);

if (y != 0)

{

Disposition dispo =

new Disposition();

dispo.setVisible(

true);

setVisible(

false);

JOptionPane.showMessageDialog(

null, "insertion bien effectuéé","insertion bien effectuéé", JOptionPane.OK_OPTION );

break;

}

}

}

}

catch (SQLException e1)

{

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}
[/code]

si quelqu'un pourrait m'aider... se serait vraiment sympa...


mercredi 5 mars 2008 à 06:47:45 | Re : requete sql qui ne passe pas

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Oulà, y'a plusieurs choses qui ne vont pas là !

Tout d'abord, pour comparer 2 textes entre eux, il faut utiliser la fonction equals de la classe String, et non l'opérateur == qui ne fait que vérifier l'égalité des pointeurs, du coup :

String toto = "toto";
String tata = "toto";
toto == tata; // renvoie false !
toto.equals(tata); // renvoie true

Ensuite, les heures dans une base de données sont stockées bien souvent au format américain : MM/dd/yyyy et non au format français dd/MM/yyyy, c'est pour cela qu'il vaut mieux faire les comparaisons avec un GregorianCalendar bien paramètré plutôt qu'avec une pauvre String !

Enfin, tu stocke l'heure et la date dans ta base au format String, et dans deux champs différents ! Pourquoi ? Tu veux perdre de la place et perdre du temps ? Il est plus simple de stocker dans un champ datetime l'heure et la date, et la base de données pourra optimiser tes requêtes sur un tel champs !
______________________________________
DarK Sidious

mercredi 5 mars 2008 à 16:35:01 | Re : requete sql qui ne passe pas

oceane751

oui mais j'ai pas envie de m"embeter avec les datetime
donc le problème ne vient pas de là :s

mercredi 5 mars 2008 à 19:03:27 | Re : requete sql qui ne passe pas

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Les datetime n'est qu'une des améliorations que je propose, ton problème par contre vient du == à remplacer par un equals !

Et crois moi, tu t'embeterais beaucoup moins avec les datetimes plutôt qu'en faisant ta méthode de date et heure stockée en String !!!
______________________________________
DarK Sidious

mercredi 5 mars 2008 à 21:06:39 | Re : requete sql qui ne passe pas

oceane751

bon on m'a aidé et le probleme a été résolu
c'était un probleme de requete, de break et j'ai rajouté les flag
[code]

public

void actionPerformed(ActionEvent e)

{

if (e.getSource().equals( but) )

{

Fonction fonc =

new Fonction();

String requetee =

"SELECT heure, date_rdv FROM membres WHERE heure='"+textheure.getText()+"' and date_rdv='"+textdate.getText()+"'";

ResultSet res = fonc.Conec(requetee);

int flag =0;

try {

if (flag == 0)

{

while(res.next())

{

JOptionPane.showMessageDialog(

null, "dejà une RDV pour cette heure","deja une RDV pour cette heure", JOptionPane.NO_OPTION );

break;

}

}

else

{

String requete =

"INSERT INTO membres (nom, heure, date_rdv) VALUES('"+textnom.getText()+"', '"+textheure.getText()+"', '"+textdate.getText()+"')";

//System.out.print(requete);

Fonction foncc =

new Fonction();

int y = foncc.maj(requete);

if (y != 0)

{

Disposition dispo =

new Disposition();

dispo.setVisible(

true);

setVisible(

false);

JOptionPane.showMessageDialog(

null, "insertion bien effectuéé","insertion bien effectuéé", JOptionPane.OK_OPTION );

//break;

}

}

}

//}

catch (SQLException e1)

{

e1.printStackTrace();

}

}

}
[/code]


voilà, merci quand meme pour toutes vos reponses !!!!!!




Cette discussion est classé dans : date, requete, heure, rdv, dej


Répondre à ce message

Sujets en rapport avec ce message

Requete parametree avec un timestamp [ par ArtH ] bonjour, je cherche a executer une requete sql sur une bdd ms access. Je veux filtrer les enregistrements d'une table sur les dates (timestamp) mais f Date [ par cid019 ] Bonjour a tous,dans un JSpinner j'affiche la date courante a l'aide d'un new Date().Or a l'affichage, la date n'est pas correcte : c'est l'heure qui d mettre la date et heure système à un fichier [ par littleapple ] Je dois réaliser un programme JAVA me permettant, en donnant un nom de fichier en paramètre, de lui faire attribuer la date et l'heure système.Pouvez Date et Heure [ par Mialisoa ] Slt!! Je cherche le code pour :- convertir un temps en secondes en heure,minute,seconde -additionner des temps en heure,minute,seconde et affich ACCESS Impossible de récupérer l'heure d'1 champs d'1 BDD [ par kobee12 ] Bonjour à tous, J'ai créé une BDD sous access dans laquelle j'ai une table qui comporte un champs de type date/heure dans lequel je saisie une heure a Prepared Statement ne passe pas [ par serialkilled ] Voici mon code :   String date=jDate.getString(); // provenant d'un TextField public void EnregistrerFacture(int CodeCom,String date){         requet Convertir heure GMT en heure locale [ par KeniiyK ] Bonjour,Je recoi la date et l'heure GMT par liaison rs232 ensuite il faut que je mette mon système (Windows) à cette date et heure.1- Comment faire la date et heure [ par 1riadh ] comment convertir une date et l'heure en un text (string) avec midp1.0 Heure d'été, ca coince ;) [ par arnaud_tournier ] Bonjour,J ai une appli web en serlvet / jsp sous linux.Cette appli affiche l heure. Je regarde ce matin et je m apercois que l heure est mal réglée. E Séparer la date de l'heure [ par Jordan59 ] Bonjour à tous,J'ai une variable de type Date qui contient une dateheure et je souhaite ne récupérer que la date sans l'heure.Je n'ai accés qu'à la mé


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,811 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.