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 :

VB.NET ==> Aide pour DataGrid + Erreur


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut VB.NET ==> Aide pour DataGrid + Erreur
    Bonjour à tous,

    Voila, je commence depuis peu à coder en VB.Net donc il est difficile pour moi de trouver mes errreurs donc si vous pourriez m'aider ou me conseiller... !

    Pour commencer, je crée une application avec Accès ADO permettant de Gérer des tournoi de jeux vidéos.

    1) Pour commencer, quand je veux afficher ma requete dans le Datagrid cela ne fonctionne pas, pourtant avec toutes mes autres requêtes je n'ai pas de probleme, VB 2005 me renvoit l'erreur suivante :

    Échec de IErrorInfo.GetDescription avec E_FAIL(0x80004005).

    Je vous donne le code :

    Private Sub frm_eswc_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    'TODO : cette ligne de code charge les données dans la table 'LANDataSet.Participer'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
    Me.ParticiperTableAdapter.Fill(Me.LANDataSet.Participer)
    'TODO : cette ligne de code charge les données dans la table 'LANDataSet.Equipe'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
    Me.EquipeTableAdapter.Fill(Me.LANDataSet.Equipe)
    Me.MdiParent = MDIPrincipal
    Dim Ssql As String
    Dim Ttable As String
    Ttable = "Equipe"
    Ssql = "SELECT Equipe.Nom_Equipe, Equipe.Tag_Equipe "
    Ssql &= "FROM Type_TN INNER JOIN (Tournoi INNER JOIN (Equipe INNER JOIN Participer ON Equipe.Num_Equipe = Participer.Num_Equipe) ON Tournoi.Num_Tournoi = Participer.Num_Tournoi) ON Type_TN.Num_Type_TN = Tournoi.Num_Type "
    Ssql &= "WHERE (((Participer.Position)=1) AND ((Type_TN.Nom_Type_TN)=""Premiere_Series""));"
    affiche(Ssql, Ttable)
    FormerDataEquipeFrance()
    Me.DataEquipe.ReadOnly = True
    End Sub

    Sub FormerDataEquipeFrance()
    frm_eswc.DataEquipe.DataSource = ObjetDataTable
    frm_eswc.SuspendLayout()
    Dim dgTableStyle As New DataGridTableStyle()
    Dim dgColumnStyle As DataGridColumnStyle

    'Colonne Nom Equipe
    dgColumnStyle = New DataGridTextBoxColumn()
    dgColumnStyle.Width = 100
    dgColumnStyle.MappingName = "Nom_Equipe"
    dgColumnStyle.HeaderText = "Nom Equipe"
    dgTableStyle.GridColumnStyles.Add(dgColumnStyle)

    'Colonne Tag Equipe
    dgColumnStyle = New DataGridTextBoxColumn()
    dgColumnStyle.Width = 100
    dgColumnStyle.MappingName = "Tag_Equipe"
    dgColumnStyle.HeaderText = "Tag Equipe"
    dgTableStyle.GridColumnStyles.Add(dgColumnStyle)
    dgTableStyle.MappingName = "Equipe"

    Try
    frm_eswc.DataEquipe.TableStyles.Add(dgTableStyle)
    Catch ex As Exception
    End Try
    frm_eswc.ResumeLayout()
    End Sub

    Sub affiche(ByVal Ssql As String, ByVal Ttable As String)
    Dim ObjetCB As OleDb.OleDbCommandBuilder
    Try
    'On vide le DataSet pour éviter de voir plusieurs fois les memes données dans le datagrid
    ObjetDataSet.Clear()
    OuvrirConnexion()
    ObjetCommand = New OleDb.OleDbCommand(Ssql)
    'Instancier un objet Adapter
    ObjetDataAdapter = New OleDb.OleDbDataAdapter(ObjetCommand)
    'initialiser l'objet Command
    ObjetCommand.Connection = cnLan
    'initialiser l'objet OleCBComandBuilder (sinon pas d'update)
    ObjetCB = New OleDb.OleDbCommandBuilder(ObjetDataAdapter)
    'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
    ObjetDataAdapter.Fill(ObjetDataSet, Ttable)
    'Créer une datatable à partir du dataset
    ObjetDataTable = ObjetDataSet.Tables(Ttable)
    'Mettre dans le DataGrid une table DataTable
    Catch ex As Exception
    MsgBox(ex.Message)

    End Try


    End Sub

    2) Mon second problème est que je ne sais pas comment remplir mon datagrid avec une requête ou encore avec plusieurs tables à la fois, si vous avez des exemples de code j'en serais ravi car je ne sais pas du tout comment faire

    3) Existe - t - il un SQLCode sous VB.NET pour voir si une requête renvoit un enregistrement ? si oui comment l'utiliser ?

    4) Pour finir, j'ai un probleme lors d'un ajout d'une table alors que sur les autres tables je n'ai pas de probleme, l'erreur est la suivante :

    Erreur de syntaxe dans l'instruction INSERT INTO

    Voici le code associé :

    Sub Participation()
    Dim Table As String
    ObjetDataSet.Clear()
    Try
    Table = "Participer"
    Debut(Table)
    ObjetDataRow = ObjetDataSet.Tables(Table).NewRow()
    ObjetDataRow("Num_Tournoi") = frm_participation.cb_tn.SelectedValue
    ObjetDataRow("Num_Equipe") = frm_participation.cb_equipej.SelectedValue
    ObjetDataRow("Position") = 0
    ObjetDataRow("GainEuros") = 0
    ObjetDataSet.Tables(Table).Rows.Add(ObjetDataRow)
    ObjetCommandBuilder = New OleDb.OleDbCommandBuilder(ObjetDataAdapter)
    ObjetDataAdapter.Update(ObjetDataSet, Table)
    'On vide le DataSet et on le 'recharge' de nouveau.
    ObjetDataSet.Clear()
    ObjetDataAdapter.Fill(ObjetDataSet, Table)
    ObjetDataTable = ObjetDataSet.Tables(Table)
    MsgBox("Enregistrement Effectué !", MsgBoxStyle.Information, "Confirmation")
    Catch ex As Exception
    MsgBox(ex.Message)
    End Try

    End Sub

    Sub Debut(ByVal Nomtable As String)
    Dim strSql As String
    strSql = "SELECT * FROM " & Nomtable
    'Instancier un objet Commande
    ObjetCommand = New OleDb.OleDbCommand(strSql)
    'Instancier un objet Adapter
    ObjetDataAdapter = New OleDb.OleDbDataAdapter(ObjetCommand)
    'initialiser l'objet Command
    ObjetCommand.Connection() = cnLan
    'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
    ObjetDataAdapter.Fill(ObjetDataSet, Nomtable)
    'Mettre dans un Objet DataTable une table du DataSet
    ObjetDataTable = ObjetDataSet.Tables(Nomtable)
    End Sub


    Voila tout, merci d'avance à toutes les personnes qui pourront m'aider

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut
    Personne ne peut m'aider ?

Discussions similaires

  1. Aide pour résoudre erreur de segmentation
    Par MounaR dans le forum C++
    Réponses: 6
    Dernier message: 26/04/2011, 16h04
  2. Cherche aide pour corriger erreur au démarrage
    Par odb000856 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/09/2010, 14h38
  3. [MySQL] Demande d'aide pour une erreur php
    Par spespam dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 01/12/2008, 16h22
  4. Besoin d'aide pour une erreur CR_INVALID_BUFFER_USE
    Par ArkaneJouan dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 02/10/2007, 11h12

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