Aufrufen einer gespeicherten Prozedur, die von C# - code

Aufrufen einer gespeicherten Prozedur, die von C# - code

Ich habe eine gespeicherte Prozedur, die prüft, ob die E-Mail (& Mobile) trat bereits in der Datenbank vorhanden. Es gibt True zurück, falls es existiert (existieren), sonst False. Wenn False zurückgegeben wird (z.B. E-Mail - & mobile eindeutig sind), eine andere gespeicherte Prozedur legen Sie die Benutzer-Informationen in die Datenbank und registrieren Sie ihn. All dies geschieht auf einer einzigen Taste klicken.

BRAUCHEN SIE HILFE MIT DIESEM CODE:

EDIT 2:

 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);

}

Frage: wie mache ich das? Wie kann ich es machen das arbeiten mit minimalen Ressourcen? Bin ich das duplizieren von code? Ich will dies in die effizienteste/logische/richtige Weg.

EDIT:

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    
  • können Sie auch posten Sie Ihre Stored Procedure hier. d effizienteste Weg sein wird, zu schreiben und effizienten Stored Procedure
  • Finden Sie die gespeicherte Prozedur in der post bearbeitet...
Schreibe einen Kommentar