Passage de paramètres à une procédure stockée en C#
J'ai une procédure stockée qui renvoie une variable @jeu de résultats à 1 ou à 0 (le type de données bit). Je suis accéder dans mon C# avec le code suivant. Son lancement un message d'erreur indiquant un trop grand nombre de paramètres.
protected void btnRegister_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
SqlCommand Cmd = new SqlCommand("usp_CheckEmailMobile", con);
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.CommandText = "Registration";
Cmd.Parameters.AddWithValue("@Name", txtName.Text);
Cmd.Parameters.AddWithValue("@Email", txtEmailAddress.Text);
Cmd.Parameters.AddWithValue("@Password", txtPassword.Text);
Cmd.Parameters.AddWithValue("@CountryCode", ddlCountryCode.Text);
Cmd.Parameters.AddWithValue("@Mobile", txtMobileNumber.Text);
//Cmd.Parameters.Add("@Result", DbType.Boolean);
SqlParameter sqlParam = new SqlParameter("@Result", DbType.Boolean);
//sqlParam.ParameterName = "@Result";
//sqlParam.DbType = DbType.Boolean;
sqlParam.Direction = ParameterDirection.Output;
Cmd.Parameters.Add(sqlParam);
Cmd.ExecuteNonQuery();
con.Close();
Response.Write(Cmd.Parameters["@Result"].Value);
}
la procédure stockée: (je pense que c'est bien...) Et merci de corriger mon CS code...
ALTER PROCEDURE [dbo].[usp_CheckEmailMobile]
( @Name VARCHAR(50),
@Email NVARCHAR(50),
@Password NVARCHAR(50),
@CountryCode INT,
@Mobile VARCHAR(50),
@Result BIT OUTPUT)
AS
BEGIN
IF EXISTS (SELECT COUNT (*) FROM AUser WHERE [Email] = @Email AND [Mobile] = @Mobile)
Begin
Set @Result=0; --Email &/or Mobile does not exist in database
End
ELSE
Begin
--Insert the record & register the user
INSERT INTO [AUser] ([Name], [Email], [Password], [CountryCode], [Mobile]) VALUES (@Name, @Email, @Password, @CountryCode, @Mobile)
Set @Result=1;
End
END
Est-ce une réelle sortie de paramètre ou une valeur de retour dans votre procédure stockée? S'il vous plaît poster un abrégé définition de votre procédure stockée ainsi.
Postez votre Sp de la Signature également.
Bien qui est le CommandText ?
double possible de Retourner une valeur booléenne à partir d'une procédure stockée à l'aide de bits
Shaw... cette question vient après les réponses à la poste dans le lien... ceux qui ont été posées par moi!
Postez votre Sp de la Signature également.
Bien qui est le CommandText ?
usp_CheckEmailMobile
ou Registration
, l'actuel est à la recherche à Registration
qui n'est pas, je pense que vous vouliez diredouble possible de Retourner une valeur booléenne à partir d'une procédure stockée à l'aide de bits
Shaw... cette question vient après les réponses à la poste dans le lien... ceux qui ont été posées par moi!
OriginalL'auteur adityabnawandar | 2013-03-22
Vous devez vous connecter pour publier un commentaire.
vous pouvez essayer ce code :
je viens d'appeler votre sp avec paramètre, vérifiez votre base de données et storeprocedure
signifie?? btw, toujours rien.. j'espère que vous lisez le code de mon sp... il renvoie 1 ou 0...
avez-vous testé votre sp en sql, comme je l'ai dit, je ne suis que de l'appeler à partir du code
oui j'ai testé, et le CoountryCode est de type varchar 50 pas int... Et (pourquoi?), votre code ne fonctionne pas...
OriginalL'auteur Arshad
Pourquoi avez-vous définir:
ce sera de remplacer votre nom de la procédure stockée, afin de ne pas appeler la procédure stockée que vous avez indiqué dans:
Il peut être utile d'utiliser un générateur de profils SQL pour déboguer que le SQL d'aller "sur le fil" est comme prévu.
OriginalL'auteur Rowland Shaw