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 :

affichage automatique de liste


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 47
    Par défaut affichage automatique de liste
    Bonsoir,
    je suis en train de réaliser un projet sur la gestion des documents,
    l'utilisateur ajoute un document aujourd'hui et après une année de conservation une liste des documents à éliminer s'affiche pour que l'utilisateur les supprime(si la date d'entrée dépasse une année,un update s'applique automatiquement et après un filtrage de tous les booléens vrai,une liste s'affiche)

    Bouton ajout document(contrôle du date d'ajout)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd1.CommandText = "UPDATE document SET document_à_evacuer = true WHERE datedoc.Text = DateAdd(DateInterval.Day, 365, dateart)"


    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
    Private Sub bouttonaffiche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bouttonaffiche.Click
     
     
     
     
     
                Dim strConnexion As String = ""
                Dim Connsql As New SqlConnection(strConnexion)
                Dim strcmd As New SqlCommand
                Connsql.Open()
     
                Dim strRequete As String = "SELECT * FROM document WHERE document à evacuer=true"
                strcmd.Connection = Connsql
                strcmd.CommandText = strRequete
                strcmd.ExecuteNonQuery()
                DataGridView1.DataSource = strcmd
                strcmd.Connection.Close()
                Connsql.Close()
     
     
        End Sub
     
        Private Sub Bouttonsup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Bouttonsup.Click
            For Each row As DataGridViewRow In DataGridView1.SelectedRows
                DataGridView1.Rows.Remove(row)
            Next
        End Sub
    ce code ne marche pas et à l'execution n'affiche aucune erreur.
    je croix l'erreur se trouve au 1er code(controle date)

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    essaye la requete sur sql server

    et dans la pratique c'est plutot
    update ... where ColDate < dateadd(year, -1, getdate())

    car avec = tu ne tomberas jamais sur la bonne date, car une date contient l'heure
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je vois plusieurs problème, tu fais une suppression sur la datagridview sans le faire dans la base de données, et en plus si ton composant n'est pas dans updatePanel, il ne sera pas remis à jour.

  4. #4
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 47
    Par défaut
    tu fais une suppression sur la datagridview sans le faire dans la base de données, et en plus si ton composant n'est pas dans updatePanel, il ne sera pas remis à jour.
    j'ai corrigé le 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    Imports System
    Imports System.Data
    Imports System.Data.SqlClient
    Public Class Article_à_evacuer
        Dim sqlSelect As String
        Dim Connsql As New SqlConnection
     
     
     
        Private Sub buttonafficher1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
     
     
     
            Try
     
                Dim strConnexion As String = ";"
                Dim Connsql As New SqlConnection(strConnexion)
                Dim strcmd As New SqlCommand
                Connsql.Open()
     
                Dim strRequete As String = "SELECT * FROM document WHERE document_à_evacuer=true"
                strcmd.Connection = Connsql
                strcmd.CommandText = strRequete
                strcmd.ExecuteNonQuery()
                DataGridView1.DataSource = strcmd
                strcmd.Connection.Close()
                Connsql.Close()
            Catch ex As Exception
                MsgBox("ERREUR: " & ex.Source & ": " & ex.Message, MsgBoxStyle.OkOnly, "ERREUR DE CONNECTION !!")
            End Try
     
     
        End Sub
     
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
     
            Select Case MsgBox("Etes-vous sûr de vouloir supprimer cet article", MsgBoxStyle.YesNo)
                Case MsgBoxResult.Yes
                    supart()
     
                    DataGridView1.Refresh()
                Case MsgBoxResult.No
                    CancelButton.PerformClick()
            End Select
        End Sub
        Private Sub supart()
     
            Connsql.Open()
            Dim adapter As New SqlDataAdapter
     
            Dim cmd As SqlCommand = Connsql.CreateCommand()
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "delete Article where article_a_evacuer=true"
     
            cmd.Prepare()
     
     
     
     
            If Connsql.State = ConnectionState.Closed Then
                Connsql.Open()
            End If
            cmd.Connection = Connsql
            Try
                cmd.ExecuteNonQuery() 
                MsgBox("L'article est supprimé..!!", MsgBoxStyle.Information)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
     
            Connsql.Close()
     
     
        End Sub
     
    End Class

    essaye la requete sur sql server

    et dans la pratique c'est plutot
    update ... where ColDate < dateadd(year, -1, getdate())
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd1.CommandText = "UPDATE document SET document_à_evacuer = true WHERE coldate DateAdd(year, -1, getdate(dateart.text)"

  5. #5
    Membre averti
    Inscrit en
    Avril 2012
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 47
    Par défaut
    Salut,
    aprés l'execution du code un message d'erreurs s'affiche:NET SQLCLIENT DATA PROVIDER:INVALID COLUMN NAME TRUE
    donc ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmd1.CommandText = "UPDATE document SET document_à_evacuer = true WHERE coldate DateAdd(day, -1, getdate(dateart.text)"
    ne marche pas puisqu'il y a une autre commande d'ajout d'article
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     cmd.CommandText = "INSERT INTO Article(Numero_article, ,Date_entrée) VALUES('" & (codeart.Text) & "','" & (DateTime.Parse(dateart.Text).ToString("dd-MM-yyyy")) & "' )"

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    = true c'est dans vb
    en sql c'est = 1 (ou = 0 pour false)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/09/2011, 17h32
  2. [MySQL] affichage automatique d'un champs suite à un choix dans une liste déroulante
    Par sanaa.ben dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/10/2006, 00h18
  3. liste déroulante affichage automatique recherche
    Par ivan7 dans le forum Access
    Réponses: 4
    Dernier message: 21/04/2006, 18h39
  4. affichage automatique bouton et zone de liste
    Par mathilde50 dans le forum IHM
    Réponses: 4
    Dernier message: 16/11/2004, 16h02

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