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
Partager