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

Services Web Discussion :

probleme d'update sur sql


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 24
    Par défaut probleme d'update sur sql
    Bonjour, je rencontre un probleme sur la mise à jour d'une base de donnée en SQL.

    mon code est le 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     public int update(DataTable dttable, string chaine)
        {
            try
            {
                if (connect != null)
                {
                    //Transaction
                    SqlTransaction myTrans = connect.BeginTransaction();
                    SqlCommand sqlcomm = new SqlCommand(chaine, connect, myTrans);
                    SqlDataAdapter sqldataadapter = new SqlDataAdapter(sqlcomm);
                    SqlCommandBuilder sqlcommbuilder = new SqlCommandBuilder(sqldataadapter);
                    sqldataadapter.UpdateCommand = sqlcommbuilder.GetUpdateCommand();
                    sqldataadapter.InsertCommand = sqlcommbuilder.GetInsertCommand();
                    sqldataadapter.DeleteCommand = sqlcommbuilder.GetDeleteCommand();
                    sqldataadapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
     
                    try
                    {
                        int result = sqldataadapter.Update(dttable);
                        myTrans.Commit();
                        return result;
                    }
                    catch (DBConcurrencyException e)
                    {
                        myTrans.Rollback();
                    }
                }
                return 0;
            }
            catch(Exception e)
            {
                return -1;
            }
        }

    et il est appellé par le webservice 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
    15
    [WebMethod]
        public int updateRecette(string Table, string nom, string diff, string tmp_prepa, string nb_personne, string calorie, string desc)
        {
            DataTable dt = new DataTable();
            DataTable dtTable = new DataTable(Table);
            dal.Connex_SQL2005();
     
            string update = string.Format("UPDATE RECETTES SET TITRE ='{0}', DIFFICULTE ='{1}', TEMPS_PREPARATION ='{2}',"
                                        + "NOMBRE_PERSONNES ='{3}', TYPE_CALORIQUE ='{4}', DESCRIPTIF ='{5}'"
                                        + "FROM RECETTES ", nom, diff, tmp_prepa, nb_personne, calorie, desc);
     
            int test = dal.update(dtTable, update);
     
            return test;
        }
    la connexion à la base de donnée fonctionne, et l'erreur se situe sur sqldataadapter.UpdateCommand = sqlcommbuilder.GetUpdateCommand() qui me renvoit directement sur le catch. En quotant ces lignes, je n'arrive pas au catch, mais result prend la valeur 0 et la mise a jour n'est pas effectué.

    please help !

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2004
    Messages
    297
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 297
    Par défaut
    Salut,

    Peux tu donner le message d'erreur contenu dans l'exception ?

    Merci

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 581
    Par défaut
    Citation Envoyé par cosmos38240
    Salut,

    Peux tu donner le message d'erreur contenu dans l'exception ?

    Merci
    +1

    En outre, as-tu testé ta DAL en dehors d'un web service car ton problème n'a peut-être rien à voir avec un WS auquel cas tu devrais clore ce thread et en poster un autre dans le forum approprié pour obtenir plus d'aide

  4. #4
    Membre averti
    Inscrit en
    Février 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 24
    Par défaut
    Désolé de repondre si tard, mais le début de mon stage me prend du temps.

    L'erreur principale venait du fait que j'ai fait un "update" la ou il fallait que je fasse un "insert" (une mauvaise connaissance du SQL).

    mon probleme venait du webservice ET de la DAL où en fait l'action update n'était pas réalisée (le code de mon prof me semble plutot moisi ...)

    merci de votre attention

    encore désolé pour le retard

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

Discussions similaires

  1. [SQL-Server] update sur SQL Serveur
    Par Phpdebut dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/01/2009, 09h46
  2. Probleme d update avec sql express
    Par libremax dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/03/2008, 16h16
  3. Optimisation Update sur SQL SERVER 2000
    Par Hansen69 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/12/2007, 22h17
  4. probleme de log sur sql server
    Par corro dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/04/2007, 13h19
  5. Probleme d'UPDATE sur un champ text
    Par Nip dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/07/2005, 11h35

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