Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Probleme de procedure stockée [ Archives ASP & ASP.NET / Base de données ] (ManuAntibes)

dimanche 26 mars 2006 à 21:46:45 | Probleme de procedure stockée

ManuAntibes

Membre Club
Bonjour

Je veux ajouter des enregistrements sur une table "Client", je travail avec Web developper express 2005 en ASP.net.
J'ai fais une procédure stockée, pour ajouter mes enregistrements.

sur ma page web lorsque j'ajoute un client, j'ai le message d'erreur suivant:

Détails de l'exception: System.Data.SqlClient.SqlException: Trop d'arguments sont spécifiés pour la procédure ou la fonction AjouterClient.

Voici ma procédure stockée:

PROCEDURE dbo.AjouterClient
 @Client_Id int
 ,@Client_Titre int
 ,@Client_Nom varchar(50)
 ,@Client_Prenom varchar(50)
 ,@Client_Adresse1 varchar(50)
 ,@Client_Adresse2 varchar(50)
 ,@Client_Ville varchar(50)
 ,@Client_Codepostal varchar(5)
 ,@Client_Tel varchar(10)
 ,@Client_Port varchar(10)
 ,@Client_Email varchar(50)
 ,@Client_Date Datetime
 ,@Client_Mag int
AS
insert INTO [Client]
 ([Id_Client], [IdTitre_Client], [Nom_Client], [Prenom_Client], [Adresse1_Client], [Adresse2_Client], [Ville_Client], [CodePostal_Client], [Telephone_Client], [Portable_Client], [Email_Client], [DateCreation_Client], [IdMagasin_Client])
 values
 (@Client_Id, @Client_Titre, @Client_Nom, @Client_Prenom, @Client_Adresse1, @Client_Adresse2, @Client_Ville, @Client_Codepostal, @Client_Tel, @Client_Port, @Client_Email, @Client_Date, @Client_Mag)
RETURN @@IDENTITY


Je ne comprends pas se qu'il y a qui ne va pas dans ma procedure stocké.
Si vous avez un conseil ou une solution pour regler mon problème, je vous remercie.

MANUANTIBES [:p]

dimanche 26 mars 2006 à 21:58:22 | Re : Probleme de procedure stockée

coq

Administrateur CodeS-SourceS
Salut,

A mon avis le problème est dans l'appel, pas dans la procédure.



/*
coq
MVP Visual C#
*/

dimanche 26 mars 2006 à 22:10:35 | Re : Probleme de procedure stockée

ManuAntibes

Membre Club
Salut Coq

C'est ma premiere procedure, toi tu penses que ma procedure est corect.
je regarde plus cote page.
merci quand meme.


MANUANTIBES [:p]

lundi 27 mars 2006 à 06:40:24 | Re : Probleme de procedure stockée

Yopyop

salut,

pour tester ta procédure stockée va directement dans la base (utilise query analyser par example) .
si elle fonctionne, c'est un problème dans ta page...

yopyop

lundi 27 mars 2006 à 21:41:06 | Re : Probleme de procedure stockée

ManuAntibes

Membre Club
Suite de mon probleme

Je n'arrive pas à lui faire ajouter un enregistrement dans ma table, je n'arrive pas ajouter l' IdClient (key primaire) en automatique.

je se message d'erreur : Impossible d'insérer la valeur NULL dans la colonne 'Id_Client', table 'C:\AMELIE INTRANET\APP_DATA\AMELIE_DATA.MDF.dbo.Client'. Cette colonne n'accepte pas les valeurs NULL. Échec de INSERT.
L'instruction a été arrêtée.


voici mon code:

<asp:SqlDataSource ID="dsClient" runat="server" ConnectionString="<%$ ConnectionStrings:Amelie_DataConnectionString1 %>"InsertCommand="AjouterClient" InsertCommandType="StoredProcedure" SelectCommand="SELECT * FROM Client">
<InsertParameters>
<asp:Parameter Name="Client_Titre" Type="Int32" />
<asp:Parameter Name="Client_Nom" Type="String" />
<asp:Parameter Name="Client_Prenom" Type="String" />
<asp:Parameter Name="Client_Adresse1" Type="String" />
<asp:Parameter Name="Client_Adresse2" Type="String" />
<asp:Parameter Name="Client_Ville" Type="String" />
<asp:Parameter Name="Client_Codepostal" Type="String" />
<asp:Parameter Name="Client_Tel" Type="String" />
<asp:Parameter Name="Client_Port" Type="String" />
<asp:Parameter Name="Client_Email" Type="String" />
<asp:Parameter Name="Client_Date" Type="String" />
<asp:Parameter Name="Client_Mag" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>

<asp:FormView ID="FormView1" runat="server" DataKeyNames="Id_Client" DataSourceID="dsClient" DefaultMode="Insert">
<InsertItemTemplate>
IdTitre_Client:
<asp:TextBox ID="IdTitre_ClientTextBox" runat="server" Text='<%# Bind("Client_Titre") %>'>
</asp:TextBox><br />
Nom_Client:
<asp:TextBox ID="Nom_ClientTextBox" runat="server" Text='<%# Bind("Client_Nom") %>'>
</asp:TextBox><br />
Prenom_Client:
<asp:TextBox ID="Prenom_ClientTextBox" runat="server" Text='<%# Bind("Client_Prenom") %>'>
</asp:TextBox><br />
Adresse1_Client:
<asp:TextBox ID="Adresse1_ClientTextBox" runat="server" Text='<%# Bind("Client_Adresse1") %>'>
</asp:TextBox><br />
Adresse2_Client:
<asp:TextBox ID="Adresse2_ClientTextBox" runat="server" Text='<%# Bind("Client_Adresse2") %>'>
</asp:TextBox><br />
Ville_Client:
<asp:TextBox ID="Ville_ClientTextBox" runat="server" Text='<%# Bind("Client_Ville") %>'>
</asp:TextBox><br />
CodePostal_Client:
<asp:TextBox ID="CodePostal_ClientTextBox" runat="server" Text='<%# Bind("Client_Codepostal") %>'>
</asp:TextBox><br />
Telephone_Client:
<asp:TextBox ID="Telephone_ClientTextBox" runat="server" Text='<%# Bind("Client_Tel") %>'>
</asp:TextBox><br />
Portable_Client:
<asp:TextBox ID="Portable_ClientTextBox" runat="server" Text='<%# Bind("Client_Port") %>'>
</asp:TextBox><br />Email_Client:
<asp:TextBox ID="Email_ClientTextBox" runat="server" Text='<%# Bind("Client_Email") %>'>
</asp:TextBox><br />
DateCreation_Client:
<asp:TextBox ID="DateCreation_ClientTextBox" runat="server" Text='<%# Bind("Client_Date") %>'>
</asp:TextBox><br />
IdMagasin_Client:
<asp:TextBox ID="IdMagasin_ClientTextBox" runat="server" Text='<%# Bind("Client_Mag") %>'>
</asp:TextBox><br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
Text="Ins‚rer">
</asp:LinkButton>
<asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
Text="Annuler">
</asp:LinkButton>
</InsertItemTemplate>
</asp:FormView>

si vous avez une solution Merci beaucoup !!!

MANUANTIBES [:p]

mardi 23 mai 2006 à 11:16:56 | Re : Probleme de procedure stockée

poupouille55

Salut manuantibes !
j'ai le même problème que toi.
lorsque j'insère mon enregistrement, je ne lui précise pas l'id. C'est à dire que ni le champs, ni le paramètre @id n'est mentionné dans mon insert
Avant d'insérer, je recherche dans ma table la première ligne vide : "select * from [table] where id=0"
et j'insère dans cette ligne.
cette solution m'a été donnée et elle fonctionne, mais j'ai du oublié de faire qq chose dans mon code.
j'ai un reader qui exécute ma requete select, je le ferme et le rouvre pour effectuer mon insertion, et c'est a que ça coince, je pense qu'il y un pb avec mon reader. si qq a une solution ! MERCI

mardi 23 mai 2006 à 13:54:03 | Re : Probleme de procedure stockée

ManuAntibes

Membre Club

en faite le problème que j'avais venais de ma table SQL server 2005 ou 2000

en faite mon ID n'etait pas autoincrement,

J'ai vu en  analysant d'autre Table qui marche que l'ID etait en clé primaire et dans les prorietes de la colonne ID je renseigne aussi le champs "Colonne d'identité".

je crois que c'etait ça mon problème.
et ma procedure stocké et ma page etait bonne.

si ça d'aide temp mieux sinon reposte.

Aujourd'hui je fais mais ajout de table par les pages "pagexx.aspx.vb" avec les commandes INTO.
A+

MANUANTIBES [:p]

mardi 23 mai 2006 à 14:53:18 | Re : Probleme de procedure stockée

poupouille55

Mon id est désigné comme clé primaire dans ma table, c'est tout.
D'ailleurs je ne comprends pas tout dans ton code : où est la requête insert into qui te permet de rajouter un enregistrement dans ta table ??

mardi 23 mai 2006 à 19:57:11 | Re : Probleme de procedure stockée

ManuAntibes

Membre Club
Salut
ton ID doit etre comme


pour l'INTO que tu ne trouves pas dans mon code au dessus, c'est normal.
Au dessus je ne sais pas trop comme faire pour ajouter des enregistrements dans mes tables.
Donc j'ai suivi les tutaux de microsoft à ce lien
[ Lien ]
Microsoft propose de créé un site sans ecrire de code ou tres peu.
Microsoft travail pour créé le site avec les pages aspx en mode design et en mode source.

Mais ne travail pas en mode VB ou C#.
Dans mon code au dessus j'ai voulu developper mon site comme à fait Microsoft, mais je me suis tres vite bloqué, pour par exemple mettre une date automaiquement dans un champ texte ou recupere le nom du magasin d'une cookie.
Donc j'ai du passé par du code pour faire c'est action.


pour ajouter un enregistrement par le code , la tu utilises INTO



Sur l'image; le cadre du milieu en jaune claire c'est en mode design comme le tutau de Microsoft, et le cadre de droite la c'est le code, et tu y trouves INSERT INTO

au dessu dans le code on trouve

Dim sDate AsDate = Date.Now
Dim sMagasin As Int32 = Int32.Parse(CType(e.Item.FindControl("TxbMagasin"), TextBox).Text)ou j'ai pu ajouter le date en automatique et le nom du magasin dans une textBox a l'ouverture de ma page

en fait pour comprendre l'ajout d'enregistrement avec le code j'ai suivi de tutorial
[ Lien ]

maintenant a toi de voir si tu veux utiliser l'ajout dans une table en mode design regarde les tutaux de Microsoft sinon par dans le code et suis le tutorial de C2i.fr.

Je te conseil de commencer a apprendre a utiliser le code on est plus libre.

A+
ManuAntibes

mercredi 24 mai 2006 à 16:36:06 | Re : Probleme de procedure stockée

poupouille55

salut !
merci pour toutes tes infos. J'ai choisi de coder en behind. En réalité la seule précipsion qu'il me manquait, c'est la colonne di'dentité dans les propriété de la clé primaire.
J'avais au début un datareader pour lire dans la table l'enregistrement vide puis je lui réaffectais a l'aide de commandtext une nouvelle requête, mais rien a y faire. 
Depuis cette petite astuce sur la clé primaire, je n'ai plus qu'une requête (insert) et tout fonctionne. 

Ce code fonctionne avec la propriété que ManuAntibes à expliquer plus haut
 'connexion a la base de données
connect.open()

Dim Requete AsNew SqlCommand
Dim myReader2 As System.Data.SqlClient.SqlDataReader
Requete = New SqlCommand("INSERT INTO [table] (champ1, champ2 ...) VALUES(@value1, @value2 ...)", Connect) 'ne pas spécifié le champ clé primaire auto increment

'Création et décalartion des paramètres
With Requete.Parameters
.Add(New SqlParameter("@value1", SqlDbType.VarChar))
.Add(New SqlParameter("@value2", SqlDbType.VarChar))
EndWith

'Attribution des valeurs aux param¦tres
With Requete
.Parameters("@value1").Value = "value1"
.Parameters("@value2").Value = "value2"
EndWith

'exécution de la requête
myReader2 = Requete.ExecuteReader()

'fermeture du lecteur de résultat
myReader2.Close()

'libération des ressources utilis,es pour la requ^te
Requete.Dispose()

'fermeture de la connection
Connect.Close()

'libération des ressources utilis,es pour la connexion
Connect.Dispose()

Merci Manu antibes 
bonne prog




Cette discussion est classé dans : client, stockée, procedure, procédure, varchar


Répondre à ce message

Sujets en rapport avec ce message

Procédure Stockée (sQL serv.) et ASP ??? [ par Hesky ] Bonjour,Je voudrais créer une procédure stoqué sous sql serveur, avec des vérifications qcq, etc....par contre à un moment il faut bien que je fasse u Plusieurs actions dans une procédure stockée ?? [ par Hesky ] Bonjour, J'ai un petit problème lorsque je met plusieurs actions (select, insert, update) dans une procédure stockée...Lorsque je veux récupèrer les v Problème mssql : procédure stoquées [ par Focalizer ] Bonjour,J'utilise un forum téléchargé qui utilise des procédures stoquées (sous mssql).J'aimerais bien utiliser ces procédure mais je ne comprend pas ACCENT DANS LES PROCEDURES STOCKEES [ par xtof ] Bonjour,J'ai créé une procédure stockée sur un server SQL :ALTER PROCEDURE test.AjouterAgenda ( @parameter1 DateTime, @parameter2 varchar(50)< Procédure stockée [ par Ju ] Bonjour à vous tous, voilà j'ai quelques petits pb avec l'application de Procedure stockée. Je fais ma connexion à la base de données dans le global.a pb de requete dans une procédure stockée [ par stuffer ] J'aimerais récupérer les données de la table que je passe en paramètre en passant par une procédure stockée sous VB.net mais je ne trouve pas la requê Le Recordcount me renvoi -1 après un procédure stockée [ par ronaldo1 ] Après le lancement d'une procédure stockée je fait un test si elle ne renvoie pas de ligne avec Recordcount. Cette dernière renvoie toujours -1, alors Afficher contenu d'une procédure stockée [ par wcoen ] Bonjour,Je bosse sur une sauvegarde automatique via FSO. J'ai créé un module de sauvegarde des tables et j'aimerai en faire autant pour mes proc stoc. trouver parametre d'entrée d'une Procedure Stockée [ par emericg ] Je cherche desesperement un moyen, de pouvoir recuperer la liste (nom et type) des parametres d'entrée d'une procedure stockée d'un serveur SQL. (ce a Procédure stockée + ASP + Dreamweaver [ par pasylo ] Bonjour tout le monde,Je travail en ASP sous Dreamweaver, j'ai une base SQL 2000. Je voudrait savoir si il est possible de faire apparaitre le résulta


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,125 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.