Hi all,
I have a form on a webpage that i want to use a stored procedure to input details into a database. Im not sure why it will not work.
My mark-up:
<p>Here you can edit your personal details.</p><br />
<asp:Label ID="lblPersonalDetails" runat="server">
</asp:Label><br /><br />
<asp:TextBox ID="txtCompanyName" runat="server" CssClass="PersonalDetailForm" ></asp:TextBox> <asp:Label ID="lblCompanyName" runat="server" Text="Enter your company name"></asp:Label><br />
<asp:TextBox ID="txtFirstName" runat="server" CssClass="PersonalDetailForm" ></asp:TextBox> <asp:Label ID="lblFirstName" runat="server" Text="Enter your first name"></asp:Label><br />
<asp:TextBox ID="txtLastName" runat="server" CssClass="PersonalDetailForm" ></asp:TextBox> <asp:Label ID="lblLastName" runat="server" Text="Enter your last name"></asp:Label><br />
<asp:Button ID="PersonalDetailsSubmit" runat="server" CssClass="PersonalDetailForm" Text="Submit" OnClick="PersonalDetailsSubmit_Click" />
My Code-behind:
public partial class restrictedAccess_PersonalDetails : System.Web.UI.Page
{
private string connectionString =
WebConfigurationManager.ConnectionStrings["BillyNicClothingCon"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void PersonalDetailsSubmit_Click(object sender, EventArgs e)
{
MembershipUser user = Membership.GetUser();
string bncUserID = user.ProviderUserKey.ToString();
SqlConnection con = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("EXECUTE CustomerDetails.bnc_insCustomer", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@MemId", SqlDbType.UniqueIdentifier));
cmd.Parameters.Add(new SqlParameter("@CompanyName", SqlDbType.VarChar, 100));
cmd.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.VarChar, 50));
cmd.Parameters.Add(new SqlParameter("@LastName", SqlDbType.VarChar, 50));
cmd.Parameters[0].Value = bncUserID;
cmd.Parameters[1].Value = txtCompanyName.Text;
cmd.Parameters[2].Value = txtFirstName.Text;
cmd.Parameters[3].Value = txtLastName.Text;
try {
con.Open();
int i = cmd.ExecuteNonQuery();
lblPersonalDetails.Text = "Details entered successfully";
txtCompanyName.Text = "";
txtFirstName.Text = "";
txtLastName.Text = "";
}
catch {
lblPersonalDetails.Text = "Error inserting details";
}
finally {
con.Close();
}
}}
My stored procedure:
CREATE PROCEDURE [CustomerDetails].[bnc_insCustomer]
@MemId uniqueidentifier,
@CompanyName varchar(100),
@FirstName varchar(50),
@LastName varchar(50)
AS
BEGIN
INSERT INTO CustomerDetails.Customers (MembershipId, CompanyName, FirstName, LastName)
VALUES (@MemId, @CompanyName, @FirstName, @LastName)
END
GO
As i said i am not sure what is going wrong and any advice anyone can offer will be greatly appreciated.