J'ai construit une logique que si j'entre la valeur dupliquée je devrais obtenir le message comme: "UserName existe déjà, essayez un autre nom" mais j'obtiens le message différent: "Violation de contrainte UNIQUE KEY" Nom d'utilisateur ': impossible d'insérer une clé dupliquée dans l'objet' Connexion 'L'instruction a été interrompue. " Dans la table Login UserName défini comme clé unique. Voici le code:Besoin d'aide dans les contraintes clés uniques
protected void BtnSubmit_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
NewuserBAL NUB = new NewuserBAL();
int intResult = 0;
string UserName = TxtUserName.Text;
string Password = PWD.Text;
string EmailId = Email.Text;
try
{
intResult=NUB.newinsert(UserName, Password, EmailId);
if (intResult > 0)
lbldisplay.Text = "New Account Created Successfully";
else
lbldisplay.Text = "UserName[<b>"+TxtUserName.Text+"</b>] already exists,try another name";
TxtUserName.Text = "";
PWD.Text = "";
CnfrmPwd.Text = "";
Email.Text = "";
}
catch(Exception ee)
{
lbldisplay.Text = ee.Message.ToString();
}
finally
{
NUB = null;
}
S'il vous plaît quelqu'un m'aider où j'ai fait une erreur.
Merci, Masum
Mais je veux que ce message soit "NomUtilisateur existe déjà, essayez un autre nom" mais je ne reçois pas mon message de personnalisation. –
vous devez attraper exception à cette ligne intResult = NUB.newinsert (UserName, Password, EmailId); et si vous obtenez l'exception de contrainte unique (vérifiez son type) affichez votre message personnalisé non lbldisplay.Text = ee.Message.ToString(); – empi