This is a migrated thread and some comments may be shown as answers.

[Solved] Update with subquery

2 Answers 129 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Daniel
Top achievements
Rank 1
Iron
Iron
Iron
Daniel asked on 19 May 2009, 02:42 AM
Hi. I've got a RadGrid with an auto generated edit column. I can't seem to update any rows. Here is the datasource code:

<asp:SqlDataSource ID="sdsOrg" runat="server" ConnectionString="<%$ ConnectionStrings:IntranetConnectionString %>" 
        SelectCommand="SELECT i.focusarea, i.description, i.type, i.target, i.targetdescription, d.kpiindicatorid, d.area1value, d.area2value, d.area3value, d.area4value, d.area5value, d.indicatorvalue FROM kpiindicator AS i INNER JOIN kpidetail AS d ON i.kpiindicatorid = d.kpiindicatorid INNER JOIN kpimonth AS m ON d.kpimonthid = m.kpimonthid WHERE (d.kpimonthid = (SELECT DISTINCT kpimonthid FROM kpimonth WHERE (currentmonth = 1)) + 1) ORDER BY i.focusarea, i.description" 
        UpdateCommand="UPDATE [kpidetail] SET [area1value] = ?, [area2value] = ?, [area3value] = ?, [area4value] = ?, [area5value] = ?, [indicatorvalue] = ? WHERE [kpimonthid] = SELECT DISTINCT kpimonthid FROM kpimonth WHERE (currentmonth = 1) AND [kpiindicatorid] = ?" OldValuesParameterFormatString="original_{0}" ConflictDetection="CompareAllValues">  
        <UpdateParameters> 
            <asp:Parameter Name="kpiindicatorid" Type="Int32" /> 
            <asp:Parameter Name="kpimonthid" Type="Int32" /> 
            <asp:Parameter Name="area1value" Type="Int32" /> 
            <asp:Parameter Name="area2value" Type="Int32" /> 
            <asp:Parameter Name="area3value" Type="Int32" /> 
            <asp:Parameter Name="area4value" Type="Int32" /> 
            <asp:Parameter Name="area5value" Type="Int32" /> 
            <asp:Parameter Name="indicatorvalue" Type="Int32" /> 
            <asp:Parameter Name="original_area1value" Type="Int32" /> 
            <asp:Parameter Name="original_area2value" Type="Int32" /> 
            <asp:Parameter Name="original_area3value" Type="Int32" /> 
            <asp:Parameter Name="original_area4value" Type="Int32" /> 
            <asp:Parameter Name="original_area5value" Type="Int32" /> 
            <asp:Parameter Name="original_indicatorvalue" Type="Int32" /> 
        </UpdateParameters> 
    </asp:SqlDataSource> 

I tried to follow the online demos as closely as possible. Is the subquery in the WHERE clause in the correct format?

Daniel

2 Answers, 1 is accepted

Sort by
0
Accepted
Shinu
Top achievements
Rank 2
answered on 19 May 2009, 03:33 AM
Hi Daniel,
 
Have you set the AllowAutomaticUpdates property of the Grid to true?

ASPX:
 
 <telerik:RadGrid ID="RadGrid1" runat="server"  AllowAutomaticUpdates="true"  DataSourceID="SqlDataSource1"  > 

Shinu
0
Daniel
Top achievements
Rank 1
Iron
Iron
Iron
answered on 19 May 2009, 03:55 AM
Thanks for that Shinu. You pointed me in the right direction. I was missing DataKeyNames="myPrimaryKey" on the RadGrid.

Daniel
Tags
Grid
Asked by
Daniel
Top achievements
Rank 1
Iron
Iron
Iron
Answers by
Shinu
Top achievements
Rank 2
Daniel
Top achievements
Rank 1
Iron
Iron
Iron
Share this question
or