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

ASP.NET Discussion :

Modification des donnés


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 9
    Par défaut Modification des donnés
    Bonjour,
    jai eu cet erreur tout a coup lors de l'execution de ma procedure qui concerne la modification des données dans des textbox affichées par un datagrid, jai recuperé le keyField a travers un objet session, ca bien marché au debut mais parsuite il m'affiche:
    'ggf' : nom de colonne incorrect.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.SqlClient.SqlException: 'ggf' : nom de colonne incorrect.Erreur source:


    Ligne 229 : ObjCommand = New SqlClient.SqlCommand(strRequete2, Connection)
    Ligne 230 : 'on essaye d'effectuer la requete
    Ligne 231 : ObjCommand.ExecuteNonQuery()
    Ligne 232 : Connection.Close()
    Ligne 233 : End Sub


    Fichier source : D:\Inetpub\wwwroot\rim_projet\Site.aspx.vb Ligne : 231

    Trace de la pile:


    [SqlException: 'ggf' : nom de colonne incorrect.]
    System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    rim_projet.Site.suppr(String resul) in D:\Inetpub\wwwroot\rim_projet\Site.aspx.vb:231
    rim_projet.Site.DataGrid1_ItemCommand(Object Sender, DataGridCommandEventArgs e) in D:\Inetpub\wwwroot\rim_projet\Site.aspx.vb:243
    System.Web.UI.WebControls.DataGrid.OnItemCommand(DataGridCommandEventArgs e)
    System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e)
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
    System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e)
    System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
    System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e)
    System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
    System.Web.UI.Page.ProcessRequestMain()

    Voila mon code
    onitemcommand
    Sub DataGrid1UpdateHandler(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
    '*****************************declaration*************************
    DataGrid1.EditItemIndex = e.Item.ItemIndex

    Session("Appsetting") = e.Item.Cells(0).Text
    Application.UnLock()
    Dim code_s As String
    code_s = Session("Appsetting")

    Connection = New System.Data.SqlClient.SqlConnection

    Dim sConnectionString As String
    sConnectionString = "Server=STANDARD;Initial Catalog=pfe_rim;uid=sa;password=allah"
    Connection.ConnectionString = sConnectionString
    Connection.Open()

    'recuperation de l'identifiant

    'on recharge le tableau

    Dim query As String = "select* from site"

    ObjCommand = New SqlClient.SqlCommand(query)

    'Instancier un objet Adapter

    objetDataAdapter = New SqlClient.SqlDataAdapter(ObjCommand)

    'initialiser l'objet Command

    ObjCommand.Connection() = Connection

    'Mettre dans un Objet DataTable une table du DataSet
    objetDataAdapter.Fill(objetDataset, "site")

    ObjetDataTable = objetDataset.Tables("site")
    RowNumber = e.Item.ItemIndex
    'Avec l'aide de la propriété Fill du DataAdapter charger le DataSet
    If RowNumber < 0 Then Exit Sub

    'Lors de l'ouverture de la BD, s'il n'y a aucun enregistrement

    If RowNumber > ObjetDataTable.Rows.Count - 1 Then Exit Sub

    ' ObjetTable.Rows(Numéro de lignes).Item( Nom de colonne) donne le contenu d'un champ dans une ligne donnée

    Me.codetxt.Text = ObjetDataTable.Rows(RowNumber).Item("code_site").ToString()

    Me.adrtxt.Text = ObjetDataTable.Rows(RowNumber).Item("adresse").ToString()
    Connection.Close()
    Bindgrid()
    End Sub

    Une fois on a cliqué sur le bouton modifier
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


    Dim ObjCommand As System.Data.SqlClient.SqlCommand
    Dim objetDataAdapter As System.Data.SqlClient.SqlDataAdapter
    Dim objetDataset As New DataSet
    Me.lbl.Text = Session("Appsetting")


    Dim code_s As String
    code_s = Session("Appsetting")
    Dim strRequete As String
    strRequete = "UPDATE site SET code_site = '" + Me.codetxt.Text + "',adresse='" + Me.adrtxt.Text + "' WHERE code_site = " + code_s

    ' Création de l'objet de connexion
    Connection = New System.Data.SqlClient.SqlConnection
    Dim sConnectionString As String
    sConnectionString = "Server=STANDARD;Initial Catalog=pfe_rim;uid=sa;password=allah"
    Connection.ConnectionString = sConnectionString
    Connection.Open()

    ObjCommand = New SqlClient.SqlCommand(strRequete)
    ObjCommand.Connection = Connection
    Try
    'on essaye d'effectuer la requete
    ObjCommand.ExecuteNonQuery()
    Catch
    'si ca ne marche pas, cela signifie que l'enregistrement existe deja, dans ce cas message d'erreur
    ShowAlert("enregistrement déjà existant, insertion refusée")
    End Try
    Connection.Close()
    Bindgrid()
    End Sub


    'suppression d'un enregistrement
    'suppression d'un enregistrement
    Sub suppr(ByVal resul As String)
    'definition de la requete
    Dim strRequete2 As String = "DELETE site WHERE code_site=" + resul
    'chaine de connexion a la base

    'execution de la requete

    Connection = New System.Data.SqlClient.SqlConnection
    Dim sConnectionString As String
    sConnectionString = "Server=STANDARD;Initial Catalog=pfe_rim;uid=sa;password=allah"
    Connection.ConnectionString = sConnectionString
    Connection.Open()

    'execution de la requete
    ObjCommand = New SqlClient.SqlCommand(strRequete2, Connection)
    'on essaye d'effectuer la requete
    ObjCommand.ExecuteNonQuery()
    Connection.Close()
    End Sub

    svp aider moi

  2. #2
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Je te le dis franchement, j'ai rien lut mais la mise en page est tellement longue, monotone, ça donne pas envi, utilise les balises codes etc...

    Et, quand c'est trop long, en général on a pas envi de lire

    Met les chances de ton côté

  3. #3
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Avec un petit effort, je repond ^^:
    (le changement est en rouge dans le code, à la fin)

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    strRequete = "UPDATE site SET code_site = '" + Me.codetxt.Text + "',adresse='" + Me.adrtxt.Text + "' WHERE code_site = '" + code_s + "'"

    Encore un truc, essai e préciser à quoi correspond ggf...
    Car, pour trouver dans ton code j'ai cherché dans la page avec firefox ggf et il trouvait pas...

    Bonne chance!

  4. #4
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strRequete = "UPDATE site SET code_site = '" + Me.codetxt.Text + "',adresse='" + Me.adrtxt.Text + "' WHERE code_site = " + code_s
    Ceci me fait penser à 'Je vais aller courir un marathon dans un champ de mines avec des palmes et j'espère ne pas sauter sur une d'entre elles, car les mines c'est gentil.'
    Tu devrais penser à te renseigner sur ce que l'on appelle des SQL Injections...
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  5. #5
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    En effet, je ne savais pas ce que c'était!!!!

    Merci, tu viens de m'apprendre quelque chose, pour explication : Wikipédia

    Faut le savoir tout de même!

Discussions similaires

  1. [JTable] Interdire la modification des données ?
    Par Cyborg289 dans le forum Composants
    Réponses: 7
    Dernier message: 25/02/2013, 10h40
  2. [MySQL] Modification des données d'une base par les membres
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/03/2006, 17h25
  3. Réponses: 2
    Dernier message: 21/03/2006, 15h22
  4. Modification des données impossible
    Par Virgile59 dans le forum Access
    Réponses: 8
    Dernier message: 03/03/2006, 14h41
  5. Réponses: 6
    Dernier message: 15/02/2006, 14h02

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