IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Le SQL et moi ça fait deux !


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Le SQL et moi ça fait deux !
    Bien le bonjour amis développeurs!

    Voila je développe actuellement une application android avec une BDD interne ( pour des simples test).

    Je voulais faire une requete SQL d'update mais il y a des erreurs auxquelles je ne trouve pas de réponse.. Et je vous l'avoue sa commence a m'ennuyer parce que je suppose que c'est une connerie monstrueuse et que je suis aveugle!

    Quoi qu'il en soit , voici la fonction correspondante ainsi que le message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void updateProfilUser(String current_login, EditText name, EditText adress, EditText postalcode, EditText city, EditText phone, EditText mail) {
     
    		db.execSQL("UPDATE" + TABLE_USER + "SET name = '"+ name +'"', "adress = '"+ adress +'"', "postalcode = '"+ postalcode +'"', "city = '"+ city +'"',
    					"phone = '"+ phone +'"', "mail = '"+ mail +'"',"IF login = '"+current_login+"'" );
    	}
    Et son erreur :
    the method execSQL in the type SQLiteDatabase is not applicable for the arguments (String String String String String String String)



    HELP me

    Cordialement MrGlode

  2. #2
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    Bonjour,

    Je te conseille de formater ta chaine SQL puis de faire ton db.execSQL.

    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       requeste as string = "UPDATE" + TABLE_USER + "SET name = '"+ name +'"', "adress = '"+ adress +'"', "postalcode = '"+ postalcode +'"', "city = '"+ city +'"',
    					"phone = '"+ phone +'"', "mail = '"+ mail +'"',"IF login = '"+current_login+"'"
     
    db.execSQL(requeste)
    Cordialement

    Emmanuel

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Ah d'accord, mais j'ai toujours les mêmes erreurs.. Puis d'ailleurs je me suis aperçu d'une bourde dans le code que j'ai posté plus haut, ce n'est pas mais !

    Je pense pas que cela puisse changer quelque chose mais bon.

    En tout cas merci de ta réponse

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour

    il vous manque des espaces. Après remplacement, rien que le début de la requete doit donner quelques chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATELaTableSET name =
    Par ailleurs, les virgule ne sont pas dans la chaine, mais en dehors (d’où le message d'erreur)

    suivez le conseil de DeWaRs, mais vérifiez avant le résultat de votre concaténation. au besoin, postez directement ce résultat

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bon bon ,merci de vos réponses, j'ai plus d'erreurs sur les requêtes !



    Sois dit en passant lors de l’exécution un autre problème sauvage apparaît !

    Caused by: android.database.sqlite.SQLiteException: near "cardNumber": syntax error (code 1):, while compiling: CREATE TABLE USER... (etc)

    Voici le code correspondant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    private static String CREATE_TABLE_USER = "CREATE TABLE " + TABLE_USER
    			+ "(" 
    			+ "login text PRIMARY KEY," 
    			+ "pwd text,"
    			+ "name text,"
    			+ "adress text,"
    			+ "postalCode text,"
    			+ "city text,"
    			+ "phone text,"
    			+ "email text,"
    			+ "sold numeric(10,2)"
    			+ "cardNumber numeric(16,0)"
    			+ "cardDate date"
    			+ ")";



    Je vous remercie fort bien !

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Il manque une virgule à la fin de ces 2 lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    			+ "sold numeric(10,2)"
    			+ "cardNumber numeric(16,0)"
    Citation Envoyé par aieeeuuuuu Voir le message
    ... mais vérifiez avant le résultat de votre concaténation ...
    Très bon conseil de aieeeuuuuu !

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    OMG... J'ai honte!
    En tout cas je remercie l'ensemble des personnes ayant contribué a la résolution de ces petits soucis, je place le sujet en résolu!

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] couper une table en deux
    Par irenee dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/03/2006, 15h59
  2. [SQL] un champ Timestamp ou deux champs Date et Heure?
    Par davmaster62 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 26/02/2006, 00h04
  3. est-ce que qq dit moi comment fait ça?
    Par S.H dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/10/2005, 02h43
  4. [SQL] une requete qui fait mal a la tete
    Par MailOut dans le forum Langage SQL
    Réponses: 7
    Dernier message: 07/02/2005, 17h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo