teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005
-
26 avril 2005 à 18:09
ced038
Messages postés10Date d'inscriptionmardi 6 février 2007StatutMembreDernière intervention11 juin 2007
-
19 juin 2007 à 17:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
ced038
Messages postés10Date d'inscriptionmardi 6 février 2007StatutMembreDernière intervention11 juin 2007 19 juin 2007 à 17:57
Je ne comprend pas un truc dans cet exemple, il ya des paramètres dans la requete update, mais je ne comprends pas comment passer les paramètres à la requete??
UpdateCommand="Update [currency] set [name]=@name where [id]=@id"
D'ailleurs, il ne devrait pas y avoir des comme pour l'insert?
J'arrive bien a faire marcher un select avec des paramètres, mais pour l'update, y'a qq chose qui m'echappe,
Merci de votre aide
ucef84
Messages postés3Date d'inscriptionsamedi 26 mai 2007StatutMembreDernière intervention 4 juin 2007 4 juin 2007 à 22:42
bsr je veux inserer des hyperliens dans on Datagrid . la 1er colonne contient le nom , donc je veux cliquer sur le nom a fin d'avoir une autre page qui va afficher d'autres informations sur le nom que jai choisi et merci d'avance
yoyo041080
Messages postés18Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention10 septembre 2007 22 mars 2007 à 15:59
Petit précision sur comment récupèrer les infos de clé pour affichage de données ou suppression :
1) Il faut tout d'abord spécifier les DataKeyNames du GridView (ce sont la ou les clé qui identifie la ligne de manière unique)
2) Choper l'événement RowDeleting
Protected Sub GvDonnees_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvDonnees.RowDeleting
Dim idSelected As Nullable(Of Integer)
' on lit la clé
idSelected = CType(gvDonnees.DataKeys(e.RowIndex).Value, Nullable(Of Integer))
' on essaie de supprimer
EffaceMesure(idSelected)
End Sub
3)Il faut utiliser la propriété DataKeys(index).Value pour obtenir la clé de la ligne ou
Il faut utiliser la propriété DataKeys(index).Values pour obtenir les clés de la ligne
j'espère que ça aidera ;)
++
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 19:40
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 19:25
Bon j'ai choppé le SQLProfiler et voila ce que j'obtiens :
exec sp_executesql N'1',N'@CustomerID int',@CustomerID=2
Ok pour le N..
Mais d'ou sort ce '1' ???
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 18:55
Bon alors .. Je suis passé sur la commande Delete car l'Update commencait a me monter la pression :
J'ai la meme erreur à savoir :
System.Data.SqlClient.SqlException: Incorrect syntax near '1'.
alors
Voila je déclare mon DeleteCommand :
SqlDtsCustomerID.DeleteCommand = "sp_deleteCustomer"
SqlDtsCustomerID.DeleteCommand = SqlDataSourceCommandType.StoredProcedure
Voila ma procStock :
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_deleteCustomer]
-- Add the parameters for the stored procedure here
(
@pi_CustomerID int
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DELETE FROM dbo.mnBoCustomer WHERE CustomerID=@pi_CustomerID
END
... Humm Voilou et je ne sais pas ce quil se passe
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 17:06
Humm . j'ai SQLExpress.. donc je ne l'ai pas :/
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 24 oct. 2006 à 17:04
Essaie de lancer un sqlprofiler afin de voir la valeur des paramètres passés à ta procédure lors de ton update. Cela permettra de voir aussi s'il plante juste avant l'execution de ta prodédure ou pendant.
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 16:33
@pi_ID = 19776 {Integer}
@pi_FirstName = "ZZzzzzzz" {String}
Tous les autres paramètres sont Null
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 16:28
dans mes paramètres, je n'ai qu'une valeur ou il y a un '1' c'est mon @pi_ID qui vaut 19678
..
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 16:20
no problemo . :
SP :
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_updateCustomer]
-- Add the parameters for the stored procedure here
@pi_ID int,
@pi_OLDCustomerID int = null,
@pi_FirstName nvarchar(255) = null,
@pi_LastName nvarchar(255) = null,
@pi_Email nvarchar(255) = null,
@pi_CompanyName nvarchar(255) = null,
@pi_WhereDidYouHear nvarchar(255) = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
UPDATE dbo.mnBoCustomer
Ensuite les valeurs .. de mes parametres ..
sont typés correctement et en testant ma SP direct avec ses valeurs la Mise a jour se fait ..
..:/
Merci pour le temps passé à chercher :)
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 24 oct. 2006 à 16:11
Il faudrait que tu nous donnes le code de ta procédure et la valeur de tes paramètres lors de la levée de l'exception.
cs_cbu
Messages postés394Date d'inscriptionmercredi 30 janvier 2002StatutMembreDernière intervention 4 novembre 20091 24 oct. 2006 à 15:41
Salut,
bon moi j'ai un petit probleme ..:)
Je génère mes colonnes par code et les propriétés de mon SqlDataSource, GridView également..
Je n'arrive pas à faire d'update et de delete..
J'ai le message d'erreur suivant : Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '1'.
Ma ProcStock fonctionne très bien.. Je construis tous mes paramètres, cela me parait correct.. Et lorsque je fais la MAJ, j'ai ce bug. Quelqu'un aurait une idée ?
Merci
cs_Amine
Messages postés36Date d'inscriptionvendredi 24 août 2001StatutMembreDernière intervention24 octobre 2007 31 juil. 2006 à 13:00
Merci bcp ! ça marche très bien !
;-)
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 31 juil. 2006 à 11:56
IL faut passer par un template field de ce style la:
<Columns>
[lelien ]'/>
</Columns>
cs_Amine
Messages postés36Date d'inscriptionvendredi 24 août 2001StatutMembreDernière intervention24 octobre 2007 31 juil. 2006 à 11:28
Salut
pouvez vous m'aider : j'ai un gridview dans une WebForm et je veux ajouter une colonne contenant des images comme lien hypertexte. Je sais pas comment le faire et est ce que c'est possible ou pas car ce que j'ai trouvé c'est une colonne de type hypertext mais on peut pas mettre dedans une image comme lien...
Merci d'avance pour votre aide
:-)
garnier54
Messages postés158Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention 9 décembre 2018 19 juil. 2006 à 17:06
j 'ai trouvé quand il creé l'evenement clik en vb il ajout deriere un handles (je sais pas trop a quoi cela sert), je l'ai enlevé et ca marche bien.
Merci
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 18 juil. 2006 à 09:29
Non désolé, je n'en ai pas la moindre idée. Solution bidouille si cela persiste: apres ou avant avoir rempli la gridview, verifier qu'il n'existe pas deux valeurs (new), si oui alors enlever une des deux lignes.
garnier54
Messages postés158Date d'inscriptionmardi 17 janvier 2006StatutMembreDernière intervention 9 décembre 2018 14 juil. 2006 à 20:47
bonjour,
je viens de tester votre code sur le gridview il est tres pratique felicitation
je voulais ajouter des enregistrements a mon grid. j'ai constater un petit probleme en ajout, le pg ajoute en fait deux lignes dans mon grid !!
j'ai repris le code je l'ai simplement mis en VB
avez vous une idee du probleme merci
xhordonneau
Messages postés8Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention21 avril 2006 21 avril 2006 à 09:16
Merci pour la précision de ta réponse GLDFDP.
Si j'avais lu ça plus tôt, je n'aurais pas perdu autant de temps!
Je vais donc tester la combinaison GridView/DetailView, comme préconisé par Microsoft "itself"!
Merci encore donc...je vous tiendrai au courant.
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 20 avril 2006 à 18:51
Non le InsertItemTemplate est juste la car c'est commun avec la detailview qui elle permet d'insérer un nouvel élément.
"The GridView control doesn't have automatic support for inserting data into a data source. The missing feature is entirely due to the GridView implementation and doesn't depend on the capabilities and characteristics of the underlying data source. The data source object, in fact, provides a CanInsert property and supports an InsertCommand property. Note that a combination of GridView and DetailsView controls enables you to achieve this functionality, as you'll see in a moment."
xhordonneau
Messages postés8Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention21 avril 2006 20 avril 2006 à 16:51
Oui j'ai essayé de renseigner les valeurs qui manquaient, et ça marche bien!
Seulement mon problème est loin d'être résolu!
En effet, avec "insert", à chaque chargement de ma page, une ligne est insérée dans ma BDD, mais elle ne s'affiche pas dans le gridview, qui reste vide!
L'utilisateur ne fera pas forcément d'insertion à chaque visite, donc je me retrouve avec des lignes
"parasites dans ma BDD, et en production, avec une cinquantaine d'utilisateurs et un enregistrement à chaque chargement, elle aura vite fait d'exploser!
N'y a-t-il pas un moyen d'afficher une ligne vide dans ce satané de gridview sans toucher à la BDD?!
Les développeurs Microsoft ont bien dû penser à ca!
A quoi servent alors les InsertItem Templates? Comment s'en sert-on?
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 18 avril 2006 à 19:05
Pour Allen912, désolé mais je n'en n'ai pas la moindre idée.
POur Xhordonneau as tu essayé en insérant une valeur par défaut à ton jour genre 1 janvier 1900?
xhordonneau
Messages postés8Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention21 avril 2006 18 avril 2006 à 16:01
Très bonne idée que de lancer un sujet sur le DataGrid!
Peut-être sauras-tu m'aider?
J'ai un datagrid assez complexe, et je cherche à afficher le footer de ce dernier lorsque
le datasource qui l'alimente ne contient aucun résultat.
En effet, mon footer contient tous les champs nécessaires à l'ajout d'un enregistrement, ainsi qu'un bouton
d'insertion, mais quand il n'y a pas de lignes dans le datagrid, je ne peux rien ajouter, vu que le footer ne s'affiche pas.
A défaut de pouvoir l'afficher, y aurait-il une autre méthode pour ajouter des lignes simplement?
PS:j'ai essayé "sqlDataSource.Insert()", maisj'ai le message d'erreur suivant:
"Cannot insert the value NULL into column 'NuméroJour', table 'PtgDataSQLServer.dbo.Opérations'; column does not allow nulls. INSERT fails.". Je comprends bien l'erreur, mais je ne trouve pas de solution simple et performante.
Allen912
Messages postés6Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention26 mars 2006 21 mars 2006 à 11:23
Comment peux t'on récupérer l'erreur générée par une tentative de suppression d'un élément protégé ? (Utlisé comme clé étrangère(?) dans une autre table en relation...)
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 3 févr. 2006 à 18:02
Dans ta connection tu rajoute ca:
<SelectParameters>
</SelectParameters>
Et dans ta requete select:
Select nomdetonchamp from tatable where id=@id
paloxicide
Messages postés225Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention20 juin 20061 3 févr. 2006 à 17:52
En fait, en galérant pas mal, je viens de trouver mon erreur.
C'était juste une mauvaise manip au niveau du code.
Mais la, j'ai une question un peu plus pertinante
Peut on afficher que les valeurs de la table en fonction de la variable
de session en cours
Par exemple : je voudrais afficher que le nom dont la session est pour l'id 4
> Session("id") = 4
est il possible de passer en parametre la variable dans une clause WHERE
de ma requete SELECT
Si oui comment le faire au niveau du <SelectParameters>
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 3 févr. 2006 à 14:43
Alors je sais pas si j'ai bien compris ton probleme mais voila:
-->lordque tu clique sur add new currency, le systeme insere une nouvelle ligne dans la base. Ne fois que tu as mis cette nouvelle ligne, il ne faut pas recliquer sur add new currency mais sur update
-->Si lorsque tu as clique sur add new currency tu veux annuler l'insertion il te faut d'abord sortir du mode edition de la ligne qui s'est lance automatiquement puis faire delete, c'est concu comme ca.
Voila voila en esperant que ca ait pu t'aider.
paloxicide
Messages postés225Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention20 juin 20061 3 févr. 2006 à 12:10
je comprends pas quand je clique sur "Add new currency ", il m'ajoute 2 lignes
1 deja insérer dans la base et l'autre en update c'est a dire que que la textbox
apparait et si je fais sur annuler. J'ai 2 lignes ajoutées alors que j'ai fais annuler
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 28 avril 2005 à 18:09
J'utilise les boutons delete pour ca et ca marche tres bien
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 28 avril 2005 à 14:31
ta technique marche quand tu fait une fonction qui enleve un enregistrement?
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 28 avril 2005 à 06:06
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 28 avril 2005 à 03:12
Je pense que si ta gridview se met pas a jour c'est parceque tu effaces ton enregistrement avec une autre connexion. Et comme la datasource qui est en memoire elle, elle ne sait pas que ton enregistrement a ete efface, elle ne se met pas a jour. Essaie donc:
if(user.privilege<2)
{
SqlDataSource1.Delete();
}
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 17:28
oui aucun des deux marche... tu vois comment une autre solution que les gridviews?
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 27 avril 2005 à 16:41
tu as essayé Gridview1.DataBind() ou Page.Databind() ?
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 16:37
protected void GridView1_RowCommand(...)
{
if (e.CommandName == "Effacer")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
string login =
Server.HtmlDecode(row.Cells[0].Text);
string pass =
Server.HtmlDecode(row.Cells[3].Text);
//fonction a moi
connexionODBC cnx = new connexionODBC();
//fonction a moi cnx.connect(ConfigurationSettings.AppSettings["Connectionstring"]);
//fonction a moi
requetesODBC r = new requetesODBC();
//fonction a moi
CUser user = r.VerifUser(login, pass, cnx);
if (user.privilege < 2)
{
//fonction a moi
r.EffacUser(user, "d:",cnx);
//et apres il me faudrait un update de la grid view car elle
ne voit pas que l enregistrement n existe plus!!
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 27 avril 2005 à 15:39
Il faudrait que tu m'envoies ton code.
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 14:16
J ai encore un probleme!!! j efface un utilisateur dans ma fonction et le probleme c est que la view grid ne se met pas a jour! rien a faire meme avec un reload de page ... je commence a en avoir marre de cette grille!
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 27 avril 2005 à 12:36
Je vais m'y pencher alors. J'incluerais aussi comment mettre une liste deroulante pour les cles etrangeres.
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 11:42
tu pourrais peut etre faire un tuto c est interressant comme probleme!
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 27 avril 2005 à 11:39
Merci parceque moi non plus je ne voyais pas comment faire.
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 11:00
ousp j ai tout fait buggé!!
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 10:59
Bon finalement j ai trouve, ca fait plaisir!!
il faut recuperer l index a l aide de l argument et alors on peut recuperer chaque colonne comme suit:
if (e.CommandName == "tacommande")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
string colone1 = Server.HtmlDecode(row.Cells[0].Text);
Response.Write(colone);
}
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 10:34
Aperement il faudrait utiliser CommandArgument mais ce truc n est pas defini pour les boutonsfield, les linkbuttons l ont mais ne sont pas definis pour les gridview :-(
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 10:04
J ai trouve ca dans la doc :
"Note The System.Web.UI.WebControls.GridViewCommandEventArgs class does not contain a property to indicate which row's button was clicked. If you need to know which row raised the event, pass the row's index to the event-handling method using the System.Web.UI.WebControls.CommandEventArgs.CommandArgument property."
seulement je ne vois pas comment rajouter un argument comme ils le disent...
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 27 avril 2005 à 09:31
MERCI!! ca marche enfin! il me manquait juste le bout de scipt! Mais j ai encore un autre probleme... Comment on recupere les infos qui correspondent a la ligne selectionnée? j ai cherche dans les attributs de "e" et de gridview mais je vois pas quoi faire....
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 27 avril 2005 à 03:41
Il suffit de rajouter une colonne de button field. Exemple:
Dans la balise de la gridview tu rajoutes:
OnRowCommand="GridView1_RowCommand"
Et dans le script:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "tacommande")
{
[Instructions]
}
}
teogal
Messages postés12Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 26 avril 2005 à 18:09
Ton code explique assez bien, mais il me reste un probleme, j essai de rajouter une colonne de boutons dans ma grille et de lui attribuer une fonction autre que delete update etc, je n arrive pas a trouver comment faire, j arrive bien a ajouter les boutons mais je n'arrive pas a leur coller une fonction quand on clique dessus... J ai galere toute une journee dessus j en peut plus
19 juin 2007 à 17:57
UpdateCommand="Update [currency] set [name]=@name where [id]=@id"
D'ailleurs, il ne devrait pas y avoir des comme pour l'insert?
J'arrive bien a faire marcher un select avec des paramètres, mais pour l'update, y'a qq chose qui m'echappe,
Merci de votre aide
4 juin 2007 à 22:42
22 mars 2007 à 15:59
1) Il faut tout d'abord spécifier les DataKeyNames du GridView (ce sont la ou les clé qui identifie la ligne de manière unique)
2) Choper l'événement RowDeleting
Protected Sub GvDonnees_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvDonnees.RowDeleting
Dim idSelected As Nullable(Of Integer)
' on lit la clé
idSelected = CType(gvDonnees.DataKeys(e.RowIndex).Value, Nullable(Of Integer))
' on essaie de supprimer
EffaceMesure(idSelected)
End Sub
3)Il faut utiliser la propriété DataKeys(index).Value pour obtenir la clé de la ligne ou
Il faut utiliser la propriété DataKeys(index).Values pour obtenir les clés de la ligne
j'espère que ça aidera ;)
++
24 oct. 2006 à 19:40
SqlDtsCustomerID.DeleteCommandType = SqlDataSourceCommandType.StoredProcedure
Ca marche mieux ^^
24 oct. 2006 à 19:25
exec sp_executesql N'1',N'@CustomerID int',@CustomerID=2
Ok pour le N..
Mais d'ou sort ce '1' ???
24 oct. 2006 à 18:55
J'ai la meme erreur à savoir :
System.Data.SqlClient.SqlException: Incorrect syntax near '1'.
alors
Voila je déclare mon DeleteCommand :
SqlDtsCustomerID.DeleteCommand = "sp_deleteCustomer"
SqlDtsCustomerID.DeleteCommand = SqlDataSourceCommandType.StoredProcedure
Voila ma procStock :
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_deleteCustomer]
-- Add the parameters for the stored procedure here
(
@pi_CustomerID int
)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DELETE FROM dbo.mnBoCustomer WHERE CustomerID=@pi_CustomerID
END
... Humm Voilou et je ne sais pas ce quil se passe
24 oct. 2006 à 17:06
24 oct. 2006 à 17:04
24 oct. 2006 à 16:33
@pi_FirstName = "ZZzzzzzz" {String}
Tous les autres paramètres sont Null
24 oct. 2006 à 16:28
..
24 oct. 2006 à 16:20
SP :
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_updateCustomer]
-- Add the parameters for the stored procedure here
@pi_ID int,
@pi_OLDCustomerID int = null,
@pi_FirstName nvarchar(255) = null,
@pi_LastName nvarchar(255) = null,
@pi_Email nvarchar(255) = null,
@pi_CompanyName nvarchar(255) = null,
@pi_WhereDidYouHear nvarchar(255) = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
UPDATE dbo.mnBoCustomer
SET OLDCustomerID = @pi_OLDCustomerID,
FirstName = @pi_FirstName,
LastName = @pi_LastName,
Email = @pi_Email,
CompanyName = @pi_CompanyName,
WhereDidYouHear = @pi_WhereDidYouHear
WHERE CustomerID = @pi_ID
END
Ensuite les valeurs .. de mes parametres ..
sont typés correctement et en testant ma SP direct avec ses valeurs la Mise a jour se fait ..
..:/
Merci pour le temps passé à chercher :)
24 oct. 2006 à 16:11
24 oct. 2006 à 15:41
bon moi j'ai un petit probleme ..:)
Je génère mes colonnes par code et les propriétés de mon SqlDataSource, GridView également..
Je n'arrive pas à faire d'update et de delete..
J'ai le message d'erreur suivant : Exception Details: System.Data.SqlClient.SqlException: Incorrect syntax near '1'.
Ma ProcStock fonctionne très bien.. Je construis tous mes paramètres, cela me parait correct.. Et lorsque je fais la MAJ, j'ai ce bug. Quelqu'un aurait une idée ?
Merci
31 juil. 2006 à 13:00
;-)
31 juil. 2006 à 11:56
<Columns>
[lelien ]'/>
</Columns>
31 juil. 2006 à 11:28
pouvez vous m'aider : j'ai un gridview dans une WebForm et je veux ajouter une colonne contenant des images comme lien hypertexte. Je sais pas comment le faire et est ce que c'est possible ou pas car ce que j'ai trouvé c'est une colonne de type hypertext mais on peut pas mettre dedans une image comme lien...
Merci d'avance pour votre aide
:-)
19 juil. 2006 à 17:06
Merci
18 juil. 2006 à 09:29
14 juil. 2006 à 20:47
je viens de tester votre code sur le gridview il est tres pratique felicitation
je voulais ajouter des enregistrements a mon grid. j'ai constater un petit probleme en ajout, le pg ajoute en fait deux lignes dans mon grid !!
j'ai repris le code je l'ai simplement mis en VB
avez vous une idee du probleme merci
21 avril 2006 à 09:16
Si j'avais lu ça plus tôt, je n'aurais pas perdu autant de temps!
Je vais donc tester la combinaison GridView/DetailView, comme préconisé par Microsoft "itself"!
Merci encore donc...je vous tiendrai au courant.
20 avril 2006 à 18:51
"The GridView control doesn't have automatic support for inserting data into a data source. The missing feature is entirely due to the GridView implementation and doesn't depend on the capabilities and characteristics of the underlying data source. The data source object, in fact, provides a CanInsert property and supports an InsertCommand property. Note that a combination of GridView and DetailsView controls enables you to achieve this functionality, as you'll see in a moment."
http://msdn.microsoft.com/msdnmag/issues/04/08/GridView/
20 avril 2006 à 16:51
Seulement mon problème est loin d'être résolu!
En effet, avec "insert", à chaque chargement de ma page, une ligne est insérée dans ma BDD, mais elle ne s'affiche pas dans le gridview, qui reste vide!
L'utilisateur ne fera pas forcément d'insertion à chaque visite, donc je me retrouve avec des lignes
"parasites dans ma BDD, et en production, avec une cinquantaine d'utilisateurs et un enregistrement à chaque chargement, elle aura vite fait d'exploser!
N'y a-t-il pas un moyen d'afficher une ligne vide dans ce satané de gridview sans toucher à la BDD?!
Les développeurs Microsoft ont bien dû penser à ca!
A quoi servent alors les InsertItem Templates? Comment s'en sert-on?
18 avril 2006 à 19:05
POur Xhordonneau as tu essayé en insérant une valeur par défaut à ton jour genre 1 janvier 1900?
18 avril 2006 à 16:01
Peut-être sauras-tu m'aider?
J'ai un datagrid assez complexe, et je cherche à afficher le footer de ce dernier lorsque
le datasource qui l'alimente ne contient aucun résultat.
En effet, mon footer contient tous les champs nécessaires à l'ajout d'un enregistrement, ainsi qu'un bouton
d'insertion, mais quand il n'y a pas de lignes dans le datagrid, je ne peux rien ajouter, vu que le footer ne s'affiche pas.
A défaut de pouvoir l'afficher, y aurait-il une autre méthode pour ajouter des lignes simplement?
PS:j'ai essayé "sqlDataSource.Insert()", maisj'ai le message d'erreur suivant:
"Cannot insert the value NULL into column 'NuméroJour', table 'PtgDataSQLServer.dbo.Opérations'; column does not allow nulls. INSERT fails.". Je comprends bien l'erreur, mais je ne trouve pas de solution simple et performante.
21 mars 2006 à 11:23
3 févr. 2006 à 18:02
<SelectParameters>
</SelectParameters>
Et dans ta requete select:
Select nomdetonchamp from tatable where id=@id
3 févr. 2006 à 17:52
C'était juste une mauvaise manip au niveau du code.
Mais la, j'ai une question un peu plus pertinante
Peut on afficher que les valeurs de la table en fonction de la variable
de session en cours
Par exemple : je voudrais afficher que le nom dont la session est pour l'id 4
> Session("id") = 4
est il possible de passer en parametre la variable dans une clause WHERE
de ma requete SELECT
Si oui comment le faire au niveau du <SelectParameters>
3 févr. 2006 à 14:43
-->lordque tu clique sur add new currency, le systeme insere une nouvelle ligne dans la base. Ne fois que tu as mis cette nouvelle ligne, il ne faut pas recliquer sur add new currency mais sur update
-->Si lorsque tu as clique sur add new currency tu veux annuler l'insertion il te faut d'abord sortir du mode edition de la ligne qui s'est lance automatiquement puis faire delete, c'est concu comme ca.
Voila voila en esperant que ca ait pu t'aider.
3 févr. 2006 à 12:10
1 deja insérer dans la base et l'autre en update c'est a dire que que la textbox
apparait et si je fais sur annuler. J'ai 2 lignes ajoutées alors que j'ai fais annuler
28 avril 2005 à 18:09
28 avril 2005 à 14:31
28 avril 2005 à 06:06
http://larreurdefarcy.com/whidbey/Tutorial%20Gridview.html
28 avril 2005 à 03:12
if(user.privilege<2)
{
SqlDataSource1.Delete();
}
27 avril 2005 à 17:28
27 avril 2005 à 16:41
27 avril 2005 à 16:37
{
if (e.CommandName == "Effacer")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
string login =
Server.HtmlDecode(row.Cells[0].Text);
string pass =
Server.HtmlDecode(row.Cells[3].Text);
//fonction a moi
connexionODBC cnx = new connexionODBC();
//fonction a moi cnx.connect(ConfigurationSettings.AppSettings["Connectionstring"]);
//fonction a moi
requetesODBC r = new requetesODBC();
//fonction a moi
CUser user = r.VerifUser(login, pass, cnx);
if (user.privilege < 2)
{
//fonction a moi
r.EffacUser(user, "d:",cnx);
//et apres il me faudrait un update de la grid view car elle
ne voit pas que l enregistrement n existe plus!!
27 avril 2005 à 15:39
27 avril 2005 à 14:16
27 avril 2005 à 12:36
27 avril 2005 à 11:42
27 avril 2005 à 11:39
27 avril 2005 à 11:00
27 avril 2005 à 10:59
il faut recuperer l index a l aide de l argument et alors on peut recuperer chaque colonne comme suit:
if (e.CommandName == "tacommande")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
string colone1 = Server.HtmlDecode(row.Cells[0].Text);
Response.Write(colone);
}
J ai reussi a trouve ca dans le tuto bien caché a cette adresse http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemwebuiwebcontrolslinkbuttonclasscommandargumenttopic.asp
27 avril 2005 à 10:34
27 avril 2005 à 10:04
"Note The System.Web.UI.WebControls.GridViewCommandEventArgs class does not contain a property to indicate which row's button was clicked. If you need to know which row raised the event, pass the row's index to the event-handling method using the System.Web.UI.WebControls.CommandEventArgs.CommandArgument property."
seulement je ne vois pas comment rajouter un argument comme ils le disent...
27 avril 2005 à 09:31
27 avril 2005 à 03:41
Dans la balise de la gridview tu rajoutes:
OnRowCommand="GridView1_RowCommand"
Et dans le script:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "tacommande")
{
[Instructions]
}
}
26 avril 2005 à 18:09