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 :

formulaire qui contient plusieurs tables


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Par défaut formulaire qui contient plusieurs tables
    Bonjour à tous

    Voila je suis débutant en vb.net et j'ai un formulaire qui contient des enregistrements de plusieurs tables par exemple : table principale (Adherent) et les autres tables ( profession de l'adherent), (codepostal de l'adherent), etc ...

    mon probleme et que je veux travailer en mode connecté c.a.d une dataset par programmation.

    Exemple :


    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
    Public Sub AddInDb(ByVal Datas As String(), ByVal Sql As String, ByVal Table As String, ByVal Base As String)
            Dim cnx As New SqlConnection() 'On crée la variable de connexion
            Dim dts As New DataSet() 'On crée un cache mémoire des données
            Dim dtt As New DataTable() 'On crée la représentation de la table dans le cache
            Dim dtr As DataRow = Nothing 'On crée la représentation de la ligne dans la table
            'cnx.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " & Application.StartupPath & "\" & Base 'définition du chemin de connexion
            cnx.ConnectionString = "Persist Security Info=False;Integrated Security=SSPI;" & "database=" & Base & ";server=.\SQLEXPRESS"
            cnx.Open() 'on ouvre la connexion
            Dim dta As New SqlDataAdapter(Sql, cnx) 'on adapte la connexion par rapport à ça requete
            dta.Fill(dts, Table) 'On aligne les données du dataset par rapport à la table (si la table n'existe pas l'erreur est ici)
            dtt = dts.Tables(Table) 'On envoi dans le dtt la table virtuelle
            dtr = dtt.NewRow() 'On définit la ligne comme étant une nouvelle ligne de la table virtuelle
            dtr(0) = dtt.Rows.Count + 1 'La premiere donnée sera d'incrémenter l'ID de la ligne
            For i As Integer = 1 To Datas.Length 'on rempli toutes les autres colonnes avec les données
                dtr(i) = Datas(i - 1)
            Next
            dtt.Rows.Add(dtr) 'On ajoute la ligne au datatable
            Dim cmd As New SqlCommandBuilder(dta) 'Création de la commande de modification de la base de donnée
            dta.UpdateCommand = cmd.GetUpdateCommand 'On définit la requete de modification
            dta.Update(dts, Table) ' on modifie en fonction des nouvelles données
            cnx.Close() 'On ferme la connexion
        End Sub

    Cordialement

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par abdo1966 Voir le message
    mon probleme et que je veux travailer en mode connecté c.a.d une dataset par programmation.
    Euh... si tu utilises un dataset, tu es en mode connecté, pas en mode connecté

  3. #3
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut oups
    Tomlev a raison
    Par contre pour accéder aux infos de ton dataset par table séparée:
    dataset.table(0).defaultview 'table 1
    dataset.table(1).defaultview 'table 2

    J'utilise cela quand je fais une procédure stockée avec plusieurs select

    sinon un dataset a des propriétés très intéressantes de travail désynchro mais qui peuvent mettre à niveau la BDD. Chaque ligne que tu modifie retiens si c'est une suppression, ajout, ou MAJ ...

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/10/2006, 12h32
  2. Réponses: 2
    Dernier message: 09/08/2006, 22h04
  3. Formulaire qui contient tous les champs d'une table
    Par cakeby dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2006, 09h22
  4. sous-formulaire : champs provenant plusieurs tables
    Par patbeautifulday1 dans le forum IHM
    Réponses: 13
    Dernier message: 21/12/2005, 11h17
  5. Réponses: 1
    Dernier message: 05/12/2005, 22h49

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