Probléme procédure stockée+asp.net

gourou00 Messages postés 2 Date d'inscription jeudi 7 mai 2009 Statut Membre Dernière intervention 9 juillet 2009 - 4 juin 2009 à 17:25
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 4 juin 2009 à 22:56
Bonjour,

Je demande votre aide pour une erreur que j arrive pas à résoudre,
alors j ai utilisé une procédure stockée pour insérer les données
saisies à partir d un formulaire, voici la procédure:

Code :

ALTER PROCEDURE dbo.StoredProcedure2
(
@iduser int,
@nom varchar(50),
@prenom varchar(50),
@adresse varchar(50)
)

AS

insert into users (iduser,nom,prenom,adresse)
values (@iduser,@nom,@prenom,@adresse)

et pour le code cs du formulaire:

Code :

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{

DataSet1 ds = new DataSet1();

SqlConnection con;

SqlCommand cmd = new SqlCommand();
SqlParameter Sp1 = new SqlParameter();
SqlParameter Sp2 = new SqlParameter();
SqlParameter Sp3 = new SqlParameter();
SqlParameter Sp4 = new SqlParameter();

protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{

con = new SqlConnection ( "Data Source=.\\sqlexpress;Initial Catalog=mabase;Persist Security Info=True;User ID=sa;password=sa" );

cmd.Parameters.Add("@iduser", SqlDbType.Int).Value = Convert.ToInt32(txt_id.Text);
cmd.Parameters.Add("@nom", SqlDbType.VarChar).Value = txt_nom.Text;
cmd.Parameters.Add( "@prenom" , SqlDbType.VarChar).Value = txt_prenom.Text;
cmd.Parameters.Add( "@adresse" , SqlDbType.VarChar).Value = txt_adresse.Text;

cmd = new SqlCommand("StoredProcedure2", con);
cmd.CommandType = CommandType.StoredProcedure;

con.Open();
cmd.ExecuteReader();
con.Close();

}
}

alors build succeded mais aprés execution:

Citation:
La procédure ou fonction 'StoredProcedure2' attend le paramètre '@iduser', qui n'a pas été fourni.

Détails de l'exception: System.Data.SqlClient.SqlException: La
procédure ou fonction 'StoredProcedure2' attend le paramètre '@iduser',
qui n'a pas été fourni.

Erreur source:

Ligne 45 :

Ligne 46 : con.Open();
Ligne 47 : cmd.ExecuteReader();

Ligne 48 : con.Close();

Ligne 49 :


MERCI POUR VOTRE AIDE.

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 juin 2009 à 22:56
Salut

cmd.ExecuteReader(); est pour lire la base
cmd.ExuteNonQuery(); pour les insert/update/delete.

Bon dev
0
Rejoignez-nous