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

ASP.NET Discussion :

[c#] Update d'une base Access


Sujet :

ASP.NET

  1. #41
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    elendila, dis nous au moins tes erreurs et a quelle ligne

  2. #42
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    le truc c'est que si je met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ObjCommand.Parameters.Add("@password", OleDbType.VarChar, tb_pass.Text.ToUpper());
    (c'est bien ça que tu veux dire??)
    J'ai une erreur du type:
    The best overloaded method match for 'System.Data.OleDb.OleDbParameterCollection.Add(string, System.Data.OleDb.OleDbType, int)' has some invalid arguments
    Pour mon erreur principale c'est toujours la même depuis le début du post, je t'éclair:
    System.Data.OleDb.OleDbException: Erreur de syntaxe dans l'instruction INSERT INTO.
    Sur la ligne:
    ObjCommand.ExecuteNonQuery();
    Voilà voilà

  3. #43
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ObjCommand.Parameters.Add("@password", OleDbType.VarChar);
    ObjCommand.Parameters["@password"].Value=tb_pass.Text.ToUpper();

  4. #44
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    arf j'y ai cru mais non... toujours la même erreur...

  5. #45
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 249
    Points : 95
    Points
    95
    Par défaut
    Voila mes enregistrements à moi :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    		public static string Enregistrement(string id, string titre, string id_categorie, string description, string avec_ss_ss_cat)
    		{
    			string sql;
     
    			if (id=="new")
    			{
    				sql="INSERT INTO ss_categorie (titre,id_categorie,description,avec_ss_ss_cat) VALUES (@titre,@id_categorie,@description,@avec_ss_ss_cat)";
    			}
    			else
    			{
     
    				sql="UPDATE ss_categorie SET titre=@titre,id_categorie=@id_categorie,description=@description,avec_ss_ss_cat=@avec_ss_ss_cat WHERE id=@id";
    			}
    			OleDbConnection OleDbConnect = new OleDbConnection(connStr);
    			OleDbCommand Commande = new OleDbCommand(sql, OleDbConnect);
    			Commande.Parameters.Add(new OleDbParameter("@titre",titre));
    			Commande.Parameters.Add(new OleDbParameter("@id_categorie",id_categorie));
    			Commande.Parameters.Add(new OleDbParameter("@description",description));
    			Commande.Parameters.Add(new OleDbParameter("@avec_ss_ss_cat",avec_ss_ss_cat));
    			Commande.Parameters.Add(new OleDbParameter("@id",id));
    			OleDbConnect.Open();
    			try
    			{
    				Commande.ExecuteNonQuery();
    				return("La base de données a bien été mise à jour.");
    			}
    			catch
    			{
    				return("Les données n'ont pas été enregistrées. Veuillez renouveler ultérieurement l'opération.");
    			}
    			finally
    			{
    				OleDbConnect.Close();
    			}
    		}
    Adapte la avec tes champs. [/code]
    Vive Visual Studio.net !!!

  6. #46
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Bon ben ça non plus ça ne marche pas...
    Voilà mon code:
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    string strCommand = "INSERT INTO person(connecte, nom, prenom, login, password, groupe) Values(@connecte, @nom, @prenom, @login, @password, @groupe)";
     
    OleDbCommand ObjCommand = new OleDbCommand (strCommand, ObjConnect);
     
    ObjCommand.CommandType = CommandType.Text;
     
    ObjCommand.Parameters.Clear();
     
    ObjCommand.Parameters.Add(new OleDbParameter
    ("@connecte",OleDbType.Integer));
     
    ObjCommand.Parameters["@connecte"].Value = 1;
     
    ObjCommand.Parameters.Add(new OleDbParameter("@nom",OleDbType.VarChar));
     
    ObjCommand.Parameters["@nom"].Value = tb_nom.Text.ToUpper();
     
    ObjCommand.Parameters.Add(new OleDbParameter("@prenom",OleDbType.VarChar));
     
    ObjCommand.Parameters["@prenom"].Value = tb_prenom.Text.ToUpper();
     
    ObjCommand.Parameters.Add(new OleDbParameter("@login",OleDbType.VarChar));
     
    ObjCommand.Parameters["@login"].Value = tb_login.Text.ToUpper();
     
    ObjCommand.Parameters.Add(new OleDbParameter("@password",OleDbType.VarChar));
     
    ObjCommand.Parameters["@password"].Value = tb_pass.Text.ToUpper();
     
    ObjCommand.Parameters.Add(new OleDbParameter("@groupe",OleDbType.VarChar));
     
    ObjCommand.Parameters["@groupe"].Value = ddl_groupe.SelectedValue;
     
    ObjCommand.ExecuteNonQuery();
    Et j'ai toujours la même erreur:
    System.Data.OleDb.OleDbException: Erreur de syntaxe dans l'instruction INSERT INTO.
    Sur la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ObjCommand.ExecuteNonQuery();

  7. #47
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Rajoute .Replace("'","''"); a l'affectation de chaque chaine de caractère.

  8. #48
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Comment ça un .Replace? Je vois pas ou il faut le mettre

  9. #49
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    J'ai également écrit un code de modification de base avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                    string strCommand = "UPDATE person SET prenom = @prenom, login = @login, password = @password WHERE nom = @nom";
     
                    OleDbCommand ObjCommand = new OleDbCommand(strConnect, ObjConnect);
     
                    ObjCommand.Parameters.Add(new OleDbParameter("@prenom", tb_prenom.Text.ToUpper()));
     
                    ObjCommand.Parameters.Add(new OleDbParameter("@login", tb_login.Text.ToUpper()));
     
                    ObjCommand.Parameters.Add(new OleDbParameter("@password", tb_pass.Text.ToUpper()));
     
                    ObjCommand.Parameters.Add(new OleDbParameter("@groupe", ddl_groupe.SelectedValue));
     
                    ObjCommand.ExecuteNonQuery();
    et j'ai toujours un erreur sur la requeête mais cette fois un peu différente:
    System.Data.OleDb.OleDbException: Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' ou 'UPDATE' attendus.
    alors que ma requête commence bien par un UPDATE donc je sais pas, j'ai un gros soucis mais je vois vraiment d'ou ça peut venir...

  10. #50
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    arf je retire, je m'étais trompé dans les paramètres, en fait j'ai exactement la même erreur mais avec le UPDATE cette fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Data.OleDb.OleDbException: Erreur de syntaxe dans l'instruction UPDATE
    Voilà, c'est pas mieux...

  11. #51
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ce ne sont que des erreurs de syntaxe SQL.

    Tu fais :
    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
    16
    17
    try
    {
       string strCommand = "UPDATE person SET prenom = @prenom, login = @login, password = @password WHERE nom = @nom";
       OleDbCommand ObjCommand = new OleDbCommand(strConnect, ObjConnect);
       ObjCommand.Parameters.Add(new OleDbParameter("@prenom", tb_prenom.Text.ToUpper()));
       ObjCommand.Parameters.Add(new OleDbParameter("@login", tb_login.Text.ToUpper()));
       ObjCommand.Parameters.Add(new OleDbParameter("@password", tb_pass.Text.ToUpper()));
       ObjCommand.Parameters.Add(new OleDbParameter("@groupe", ddl_groupe.SelectedValue));
       Response.Write("Requete : "+ObjCommand.CommandText+"<br/>");
       foreach (OleDbParameter param in ObjCommand.Parameters)
         Response.Write(param.Name+" : "+param.Value+"<br/>");
    ObjCommand.ExecuteNonQuery();
    }//try
    catch (Exception ex)
    {
       Response.Write("Erreur : "+ex.Message);
    }//catch

  12. #52
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 249
    Points : 95
    Points
    95
    Par défaut
    personne essaye mon truc.. car ça marche très bien.
    Vive Visual Studio.net !!!

  13. #53
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    SiSi j'ai essayé ton code Lespalom et ça marche pas. Regarde mes post j'ai bien changé pour faire comme toi et j'ai tjs et encore cette maudite erreur....

    Pour ce qui est de ton code d'essaye BiMouXeTTe je l'ai testé, il n'y a que le catch qui ne passe pas:
    The type or namespace name 'ex' could not be found (are you missing a using directive or an assembly reference?)
    C'est un paramètre que je dois initialiser ou??
    Sinon j'ai essayé sans et je rentre bien dans la boucle foreach mais 1 seule fois, pour le nom. Par contre ça me l'affiche bien.
    Voilà l'affichage:
    Requete : UPDATE person SET prenom = '@prenom', login = '@login', password = '@password' WHERE nom = '@nom'
    @prenom : BRUNO
    et ça sort (c'est donc sensé passer dans le catch)

    Voilà voilà, en tout cas merci de votre aide parce que là j'avoue que je n'en voit plus la fin!

  14. #54
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 249
    Points : 95
    Points
    95
    Par défaut
    t'as bien ajouté System.Data.OleDb ???
    Vive Visual Studio.net !!!

  15. #55
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Tu as bien mis Exception devant ex ?

    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
    16
    17
    18
    19
    20
    21
    try
    {
       string strCommand = "UPDATE person SET prenom = @prenom, login = @login, password = @password WHERE nom = @nom";
       OleDbCommand ObjCommand = new OleDbCommand(strConnect, ObjConnect); 
       ObjCommand.Parameters.Add(new OleDbParameter("@prenom", OleDbType.VarChar));
       ObjCommand.Parameters.Add(new OleDbParameter("@login", OleDbType.VarChar));
       ObjCommand.Parameters.Add(new OleDbParameter("@password", OleDbType.VarChar));
       ObjCommand.Parameters.Add(new OleDbParameter("@groupe", OleDbType.VarChar)); 
       Response.Write("Requete : "+ObjCommand.CommandText+"<br/>");
       foreach (OleDbParameter param in ObjCommand.Parameters)
         Response.Write(param.Name+" : "+param.Value+"<br/>"); 
       ObjCommand.Parameters["@prenom"].Value=tb_prenom.Text.ToUpper();
       ObjCommand.Parameters["@login"].Value=tb_login.Text.ToUpper();
       ObjCommand.Parameters["@password"].Value=tb_pass.Text.ToUpper();
       ObjCommand.Parameters["@groupe"].Value=ddl_groupe.SelectedValue;
       ObjCommand.ExecuteNonQuery();
    }//try
    catch (Exception ex)
    {
       Response.Write("Erreur : "+ex.Message);
    }//catch
    Je suppose que tous tes champs sont des VarChar sinon change le type.

  16. #56
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 249
    Points : 95
    Points
    95
    Par défaut
    Envoi moi ton projet par e-mail. Je vais essayer de regarder.
    Vive Visual Studio.net !!!

  17. #57
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    A oui ça marche mieux de suite mais j'ai toujours la même erreur:
    Erreur : Erreur de syntaxe dans l'instruction UPDATE.
    J'ai pas ton @ mail Lespalom et si je t'envoye un mail via le forum je ne peux pas joindre mes pages donc si tu peux me la filer... Merci beaucoup en tout cas!! Par contre je ne pourrais pas te passer la table correspondante vu que je boss dans une boite... :S

    voilà

  18. #58
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 249
    Points : 95
    Points
    95
    Par défaut
    Salut,

    contact@lespalombes.com.

    Envoi moi une base de données avec la même structure de la table concernée, mais sans les données dedans .
    Vive Visual Studio.net !!!

  19. #59
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    j'ai repris le code avec les @ et franchement ca ne fonctionne pas. celui avec les ? lui oui. tu as essayé cette solution finalement?

  20. #60
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    oui j'ai essayé et ça ne marchait pas non plus

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. [AC-2007] Probleme update sur une base SQLSERV a partir de formulaires Access
    Par Peper89 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 16/07/2010, 14h36
  2. Réponses: 2
    Dernier message: 05/05/2007, 10h05
  3. [MFC] Comment créer et utiliser une base Access
    Par maitre hibou dans le forum MFC
    Réponses: 3
    Dernier message: 10/05/2004, 18h11
  4. bug dans une base Access
    Par bizouard dans le forum Access
    Réponses: 5
    Dernier message: 29/12/2003, 12h41
  5. [ODBC] Intranet en PHP : Lister les tables d'une base Access
    Par fblouet dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 28/10/2003, 14h46

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