annelie
annelie

Reputation: 2649

Missing parameter error after running MySql query

I'm completely new to MySql and haven't used SqlDataSource with UpdateParameters before, so I'm probably missing something very obvious.

When trying to update a record, the update does happen but then throws an error saying "'id' parameter is missing at the statement". So the query works and the database gets updated as it should, but an error is thrown afterwards.

These are the update parameters:

<UpdateParameters>
                <asp:Parameter Name="business_name" Type="string" Size="256" />
                <asp:Parameter Name="addr_line_1" Type="string" Size="256" />
                <asp:Parameter Name="addr_line_2" Type="string" Size="256" />
                <asp:Parameter Name="addr_line_3" Type="string" Size="256" />
                <asp:Parameter Name="postcode" Type="string" Size="32" />
                <asp:Parameter Name="county" Type="string" Size="128" />
                <asp:Parameter Name="town_city" Type="string" Size="256" />
                <asp:Parameter Name="tl_url" Type="string" Size="256" />
                <asp:Parameter Name="customer_id" Type="string" Size="16" />
                <asp:Parameter Name="region_id" Type="Int16" />
                <asp:Parameter Name="description" Type="string" Size="1024" />
                <asp:Parameter Name="approval_status" Type="string" Size="1" />
                <asp:Parameter Name="tl_user_name" Type="string" Size="256" />
                <asp:Parameter Name="phone"  Type="string" Size="50" />
                <asp:Parameter Name="uploaders_own" Type="Int16" />
            </UpdateParameters>

Here's the update statement:

UPDATE myTable SET business_name = ?, addr_line_1 = ?, addr_line_2 = ?, addr_line_3 = ?, postcode = ?, county = ?, town_city = ?, tl_url = ?, customer_id = ?, region_id = ?, description = ?, approval_status = ?, tl_user_name = ?, phone = ?, uploaders_own = ? WHERE id = " + id

Here's the stack trace:

[InvalidOperationException: 'id' parameter is missing at the statement]
   CoreLab.MySql.r.a() +775
   CoreLab.MySql.r.a(Int32& A_0, ArrayList& A_1) +448
   CoreLab.MySql.x.e() +398
   CoreLab.MySql.x.o() +89
   CoreLab.MySql.MySqlCommand.a(CommandBehavior A_0, IDisposable A_1, Int32 A_2, Int32 A_3) +1306
   CoreLab.Common.DbCommandBase.ExecuteDbDataReader(CommandBehavior behavior) +310
   System.Data.Common.DbCommand.ExecuteReader() +12
   CoreLab.Common.DbCommandBase.ExecuteNonQuery() +64
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteDbCommand(DbCommand command, DataSourceOperation operation) +386
   System.Web.UI.WebControls.SqlDataSourceView.ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues) +325
   System.Web.UI.DataSourceView.Update(IDictionary keys, IDictionary values, IDictionary oldValues, DataSourceViewOperationCallback callback) +92
   System.Web.UI.WebControls.DetailsView.HandleUpdate(String commandArg, Boolean causesValidation) +837
   System.Web.UI.WebControls.DetailsView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +509
   System.Web.UI.WebControls.DetailsView.OnBubbleEvent(Object source, EventArgs e) +95
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.DetailsViewRow.OnBubbleEvent(Object source, EventArgs e) +113
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +118
   System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +135
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

Does anyone know what I'm doing wrong?

Thanks,

Annelie

Upvotes: 0

Views: 888

Answers (1)

Your Common Sense
Your Common Sense

Reputation: 157863

at the very end of your query id parameter mentioned.
but it doesn't seem to be defined somewhere

Upvotes: 1

Related Questions