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

Accès aux données Discussion :

Erreur Sql avec Access en C#


Sujet :

Accès aux données

  1. #1
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 213
    Points
    213
    Par défaut Erreur Sql avec Access en C#
    Bonjour,

    Après plusieurs essai, je n'arrive toujours pas a comprendre d'ou provient mon erreur et n'arrive pas a la résoudre.

    J'ai une petite application très légère et j'essaye de faire un update de mes données.

    Pour cela je crée un objet command dans lequel j'écris ma requète sql et ensuite je défini mes paramètres.

    J'effectue ensuite mon update. Et c'est la que le problème devient bizarre.

    Si j'ajoute dans mes champs visé par mon update tout mes champs, l'exécution de mon programme me renvoit un problème d'accès concurrent (db ouvert une seul fois par le logiciel et personne d'autre vu qu'elle est en réalisation).
    Si par contre je ne mets pas tout les champs de ma table, l'update fonctionne très bien.
    J'ai donc essayé d'isoler le problème de mon dernier champs dont il ne veut pas, et en changeant son type, il ne fonctionne toujours pas, si par contre j'effectue un update visé rien que sur ce champs la, cela fonctionne.

    Est-ce un bug de microsoft access 2007 (ou j'enregistre en 2003)? j'ai beau chercher une logique, je n'en vois pas.
    Ah oui particularité aussi, je ne mets pas a jour donc mes champs cloture et detailcloture, je peux indiquer le nombre de paramètre que j'ai envie, mais si je les ajoute et que je ne mets pas tout les autres champs en paramètre, il me dit que toutes les valeurs n'ont pas été complètée

    Voici mon code :

    public void UpdateJob(DataRow drJob)
    {
    OleDbCommand updateCommand = new OleDbCommand("Update Job SET m_fonction = @m_fonction, m_detailcloture = @m_detailcloture, m_annonce = @m_annonce, m_contact = @m_contact, m_site = @m_site where m_numero = @m_numero", m_dbConnection);

    updateCommand.Parameters.Add("@m_fonction", OleDbType.VarChar, 50, "m_fonction");
    updateCommand.Parameters.Add("@m_date", OleDbType.DBDate, 15, "m_date");
    updateCommand.Parameters.Add("@m_annonce", OleDbType.VarChar, 255, "m_annonce");
    updateCommand.Parameters.Add("@m_contact", OleDbType.VarChar, 50, "m_contact");
    updateCommand.Parameters.Add("@m_site", OleDbType.Integer, 10, "m_site");
    updateCommand.Parameters.Add("@m_detailcloture", OleDbType.VarChar, 50, "m_detailcloture");
    updateCommand.Parameters.Add("@m_cloture", OleDbType.Integer, 5, "m_cloture");
    OleDbParameter param = new OleDbParameter("@m_numero", OleDbType.Integer, 10, "m_numero");
    param.SourceVersion = DataRowVersion.Current;

    m_dbAdapter.UpdateCommand = updateCommand;
    DataRow rowresult = (m_dbDataSet.Tables["Job"].Select("m_numero = " + drJob["m_numero"].ToString()))[0];
    rowresult["m_fonction"] = drJob["m_fonction"];
    rowresult["m_date"] = drJob["m_date"];
    rowresult["m_annonce"] = drJob["m_annonce"];
    rowresult["m_contact"] = drJob["m_contact"];
    rowresult["m_site"] = drJob["m_site"];
    rowresult["m_detailcloture"] = "test"; //drJob["m_cloturee"];
    m_dbAdapter.Update(m_dbDataSet.Tables["Job"]);
    }

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Qu'est ce que m_dbAdapter?

    Si tu essaye
    updateCommand.Execute()
    cela donne quoi?

Discussions similaires

  1. pb de requete sql avec access
    Par digger dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 09/04/2008, 17h20
  2. Gestion erreur Sql avec UIB
    Par AuBozon dans le forum SQL
    Réponses: 0
    Dernier message: 11/02/2008, 11h46
  3. PL/SQL avec access
    Par tomy29 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/04/2007, 17h03
  4. Récupérer une erreur SQL avec TIBDataSet
    Par cgone dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/10/2006, 00h00
  5. Erreur SQL avec SELECT
    Par matt0749 dans le forum Débuter
    Réponses: 15
    Dernier message: 17/10/2006, 13h04

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