title: Procedure or function *** has too many arguments specified
body: <p>Whenever I try to insert something into my database, I get this error:</p>
  
  <blockquote>
    <p>Procedure or function sp_Customer_Insert has too many arguments specified.</p>
  </blockquote>
  
  <p>Tried to search for help online but couldn't find anything helpful.</p>
  
  <p>EDIT: I deleted <code>p_cust_id</code> from insert parameters, but it still gives the same error, help please I really don't see what I'm doing wrong</p>
  
  <p>Stored procedure:</p>
  
  <pre><code>ALTER PROCEDURE [dbo].[sp_Customer_Insert]
   @p_cust_name nvarchar(50)
  ,@p_cust_address nvarchar(50)
  ,@p_cust_city nvarchar(50)
  ,@p_cust_state nvarchar(5)
  ,@p_cust_zip nvarchar(10)
  ,@p_cust_country nvarchar(50)
  ,@p_cust_contact nvarchar(50)
  ,@p_cust_email  nvarchar(255)
  ,@p_cust_birthday datetime
  AS
  BEGIN
  
  INSERT INTO customers
         (cust_name
         ,cust_address
         ,cust_city
         ,cust_state
         ,cust_zip
         ,cust_country
         ,cust_contact
         ,cust_email
         ,cust_birthday)
   VALUES
         (@p_cust_name
         ,@p_cust_address
         ,@p_cust_city 
         ,@p_cust_state
         ,@p_cust_zip
         ,@p_cust_country
         ,@p_cust_contact
         ,@p_cust_email
         ,@p_cust_birthday
         );
  END;
  </code></pre>
  
  <p>ASP code:</p>
  
  <pre><code>&lt;asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="SqlDataSource1" Height="50px" Width="223px" AutoGenerateRows="False" DataKeyNames="cust_id"&gt;
          &lt;Fields&gt;
              &lt;asp:BoundField DataField="cust_id" HeaderText="cust_id" InsertVisible="False" ReadOnly="True" SortExpression="cust_id" /&gt;
              &lt;asp:BoundField DataField="cust_name" HeaderText="cust_name" SortExpression="cust_name" /&gt;
              &lt;asp:BoundField DataField="cust_address" HeaderText="cust_address" SortExpression="cust_address" /&gt;
              &lt;asp:BoundField DataField="cust_city" HeaderText="cust_city" SortExpression="cust_city" /&gt;
              &lt;asp:BoundField DataField="cust_state" HeaderText="cust_state" SortExpression="cust_state" /&gt;
              &lt;asp:BoundField DataField="cust_zip" HeaderText="cust_zip" SortExpression="cust_zip" /&gt;
              &lt;asp:BoundField DataField="cust_country" HeaderText="cust_country" SortExpression="cust_country" /&gt;
              &lt;asp:BoundField DataField="cust_contact" HeaderText="cust_contact" SortExpression="cust_contact" /&gt;
              &lt;asp:BoundField DataField="cust_email" HeaderText="cust_email" SortExpression="cust_email" /&gt;
              &lt;asp:BoundField DataField="cust_birthday" HeaderText="cust_birthday" SortExpression="cust_birthday" /&gt;
              &lt;asp:CommandField ShowInsertButton="True" /&gt;
          &lt;/Fields&gt;
      &lt;/asp:DetailsView&gt;
      &lt;asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="&lt;%$ ConnectionStrings:CrashCourseConnectionString %&gt;" InsertCommand="sp_Customer_Insert" InsertCommandType="StoredProcedure" SelectCommand="sp_CustomerByID" SelectCommandType="StoredProcedure"&gt;
          &lt;InsertParameters&gt;
              &lt;asp:Parameter Name="p_cust_name" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_address" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_city" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_state" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_zip" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_country" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_contact" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_email" Type="String" /&gt;
              &lt;asp:Parameter Name="p_cust_birthday" Type="DateTime" /&gt;
          &lt;/InsertParameters&gt;
          &lt;SelectParameters&gt;
              &lt;asp:ControlParameter ControlID="ddlCustomers" Name="cust_id" PropertyName="SelectedValue" Type="Int32" /&gt;
          &lt;/SelectParameters&gt;
      &lt;/asp:SqlDataSource&gt;
  </code></pre>
  
  <p>C#</p>
  
  <pre><code>public static DataTable InsertCustomer(string Name, string Address, string City, string State, string Zip, string Country, string Contact, string Email, DateTime BDay)
  {
          DataTable DT = new DataTable();
  
          SqlDataAdapter DA = new SqlDataAdapter("sp_Customer_Insert", CData.CData.GetConnection());
  
          DA.SelectCommand.CommandType = CommandType.StoredProcedure;
  
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_name", Name);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_address", Address);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_city", City);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_state", State);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_zip", Zip);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_country", Country);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_contact", Contact);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_email", Email);
          DA.SelectCommand.Parameters.AddWithValue("@p_cust_birthday", BDay);
  
          return DT;
  </code></pre>
  
  <p>Can someone help?</p>
  
  <p>I don't see what I'm doing wrong.</p>