so I am connecting a sql database. I have a asp.net page and when the user selects the dropdownlist for status and selects the value to Closed, Then clicks update ticket button, i need it to take update the Closed_date column in the table.
my table has the column Closed_Date type datetime. I have a stored procedure that updates that column based on ticket #.
here is where I am having trouble:
con = new SqlConnection(_strConStr);
cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "iz_sp_updateticket";
cmd.Parameters.Add(new SqlParameter("@Priority", SqlDbType.Int)).Value = ddlPriority.SelectedValue;
cmd.Parameters.Add(new SqlParameter("@Status", SqlDbType.VarChar, 50)).Value = ddlStatus.SelectedValue;
cmd.Parameters.Add(new SqlParameter("@Environment", SqlDbType.VarChar, 50)).Value = ddlEnv.SelectedValue;
cmd.Parameters.Add(new SqlParameter("@Info", SqlDbType.VarChar)).Value = txtMessage.Text;
cmd.Parameters.Add(new SqlParameter("@Ticket", SqlDbType.Int)).Value = txtTicket.Text;
if (ddlStatus.SelectedValue == "Closed")
{
cmd.Parameters.Add(new SqlParameter("@Status", SqlDbType.VarChar, 50)).Value = ddlStatus.SelectedValue;
cmd.Parameters.Add(new SqlParameter("@Closed_Date", SqlDbType.DateTime)).Value = System.DateTime.Now;
}
else
{
cmd.Parameters.Add(new SqlParameter("@Status", SqlDbType.VarChar, 50)).Value = ddlStatus.SelectedValue;
cmd.Parameters.Add(new SqlParameter("@Closed_Date", SqlDbType.DateTime)).Value = DBNull.Value;
}
con.Open();
cmd.ExecuteNonQuery();
Here is my Stored Procedure:
CREATE procedure [dbo].[iz_sp_updateticket]
@Ticket int,
@Priority varchar(50),
@Status varchar(50),
@Environment varchar(50),
@Info varchar(max),
@Closed_date datetime
as
UPDATE stotickets
SET
Priority = @Priority,
[Status] = @Status,
Environment = @Environment,
Info = @Info,
Closed_date = @Closed_date
WHERE Ticket = @Ticket
ERROR
Procedure or function iz_sp_updateticket has too many arguments specified.