User136156066 posted
I have a datasource component that is coded as follows:
[DataObjectMethod(DataObjectMethodType.Insert, true)]
public void CreateMember(string Username,
string Password,
string Email,
string Gender,
string DOB)
{
SqlCommand objCommand = new SqlCommand();
objCommand.CommandText = "spCreateMember";
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.AddWithValue("@Username", Username);
objCommand.Parameters.AddWithValue("@Password", Password);
objCommand.Parameters.AddWithValue("@Email", Email);
objCommand.Parameters.AddWithValue("@Gender", Gender);
objCommand.Parameters.AddWithValue("@DOB", DOB);
if (!CheckUsername(Username))
throw new Exception("The username entered is registered by another member.");
if (!CheckEmail(Email))
throw new Exception("The e-mail address entered is registered by another member.");
int intRowsAffected = DAL.SendData(objCommand);
if (intRowsAffected < 1)
throw new Exception("An error occured during the registration process.");
}
The CheckUsername and CheckEmail are left out but you get the idea. Problem is, if I try to call this passing a Username that exists, it tells me something about an unhandled exception. Now this is in my default.aspx.cs page....
protected void btnRegister_Click(object sender, EventArgs e)
{
try
{
ObjectDataSource1.InsertParameters["Username"].DefaultValue = txtUsername.Text;
ObjectDataSource1.InsertParameters["Password"].DefaultValue = txtPassword.Text;
ObjectDataSource1.InsertParameters["Email"].DefaultValue = txtEmail.Text;
ObjectDataSource1.InsertParameters["Gender"].DefaultValue = ddlGender.SelectedValue;
ObjectDataSource1.InsertParameters["DOB"].DefaultValue = ddlMonth.SelectedValue + "/" + ddlDay.SelectedValue + "/" + ddlYear.SelectedValue;
ObjectDataSource1.Insert();
RegistrationError.Text = "Your registration has been successful.<br />An e-mail has been sent to you with activation instructions.";
}
catch (Exception ex)
{
RegistrationError.Text = ex.Message;
}
}
protected void ObjectDataSource1_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
if (e.Exception != null)
{
RegistrationError.Text = e.Exception.InnerException.Message;
e.ExceptionHandled = true;
}
What's the dealio?