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

VB.NET Discussion :

Pbm d'enregistrement dans une base Sql


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 10
    Par défaut Pbm d'enregistrement dans une base Sql
    bonsoir,
    Je veux enregistrer un Row dans une base Sql.
    Mon DataSet est Designer, et voici 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
     
    Dim dtsetCodexVpDb As New dtsetCodexVpDb()
     
    Dim tabadpCodex_TPr_Col As New  dtsetCodexVpDbTableAdapters.tabadpCodex_TPr_Col()
     
    Dim dattabNewTPrCol As New dtsetCodexVpDb.dattabCodex_TPr_ColDataTable
     
    Dim rowNewTPrColLigne As DataRow = dattabNewTPrCol.NewRow()
     
    With rowNewTPrColLigne
    .Item("TPr_Col_NAArbHier") = _lngTPrColNAArbHier
    .Item("TPr_Col_Position") = _intTPrColPosition
     
    dattabNewTPrCol.Rows.Add()
    tabadpCodex_TPr_Col.Update(dtsetCodexVpDb.dattabCodex_TPr_Col)
    end with
    Aucune erreur se produit,
    Mais les données ne sont pas enregistrées dans la base

  2. #2
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 184
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 184
    Par défaut
    Bonjour.

    Il ne manquerait pas le nom de la ligne dans le .add ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dattabNewTPrCol.Rows.Add(rowNewTPrColLigne)
    Car le .NewRow() ne fait jamais que créer un ligne compatible avec les lignes de la table et rien d'autre.

    En plus, j'ai pas l'impression que le bloc with soit trés approprié.

    Comme ça à la rigueur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    With rowNewTPrColLigne
    .Item("TPr_Col_NAArbHier") = _lngTPrColNAArbHier
    .Item("TPr_Col_Position") = _intTPrColPosition
    end with
    Cdt.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 10
    Par défaut Voici le code qui fonctionne ouipi
    C'est pas simple de trouver des infos dans l'aide (ce n'est pas fait pour démocratiser le VB) enfin
    Mes erreurs :
    1ere erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dattabNewTPrCol.Rows.Add(rowNewTPrColLigne)
    Il fallait ajouter le nom de l'objet Row a la methode ADD (Voir ci dessus)
    2eme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tabadpCodex_TPr_Col.Update(dattabNewTPrCol)
    Il fallait dire a la methode Update que c'etait le DataTable instancié au début qu'il faut traitter (Voir ci dessus)

    Voice le code complet :
    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
     
    Dim dtsetCodexVpDb As New dtsetCodexVpDb()
     
    Dim tabadpCodex_TPr_Col As New dtsetCodexVpDbTableAdapters.tabadpCodex_TPr_Col()
     
    Dim dattabNewTPrCol As New dtsetCodexVpDb.dattabCodex_TPr_ColDataTable
     
    Dim rowNewTPrColLigne As DataRow = dattabNewTPrCol.NewRow()
     
    With rowNewTPrColLigne
    .Item("TPr_Col_NAArbHier") = _lngTPrColNAArbHier
    .Item("TPr_Col_Position") = _intTPrColPosition
    End With
     
    dattabNewTPrCol.Rows.Add(rowNewTPrColLigne):mouarf:
     
    tabadpCodex_TPr_Col.Update(dattabNewTPrCol):mouarf:
    Encore une Question
    Il y a t-il une solution avec laquelle on ne doit pas instancier 3 objets (c'est lourdingue !!) ?
    Merci encore

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

Discussions similaires

  1. enregistrée une image dans une base SQL
    Par furax51 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/04/2015, 00h41
  2. [Débutant] Enregistrer des données dans une base sql server CE
    Par hugnka dans le forum VB.NET
    Réponses: 11
    Dernier message: 18/12/2012, 15h47
  3. Réponses: 5
    Dernier message: 09/05/2012, 18h16
  4. enregistrement de fichier XML dans une base SQL
    Par yelkam dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 18/07/2007, 08h58
  5. Réponses: 5
    Dernier message: 26/02/2007, 01h50

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