C# 如何在gridview中插入最后10行

C# 如何在gridview中插入最后10行,c#,asp.net,sql,gridview,C#,Asp.net,Sql,Gridview,我只想从sql server获取插入到gridview的最后10行,并在我的页面中显示它们。 这是我的疑问: SELECT Cause.Cause_name ,City.City_name ,InjuryScenario.InjuryScenario_id ,InjuryScenario.InjuryScenario_name ,InjuryScenario.InjuryDay ,InjuryScenario.InjuryMo

我只想从sql server获取插入到gridview的最后10行,并在我的页面中显示它们。 这是我的疑问:

SELECT Cause.Cause_name
       ,City.City_name
       ,InjuryScenario.InjuryScenario_id
       ,InjuryScenario.InjuryScenario_name
       ,InjuryScenario.InjuryDay
       ,InjuryScenario.InjuryMonth
       ,InjuryScenario.InjuryYear
       ,Place.Place_name
    FROM InjuryScenario
    INNER JOIN Cause
        ON InjuryScenario.Cause_id = Cause.Cause_id
    INNER JOIN PlaceDet
        ON InjuryScenario.InjuryScenario_id = PlaceDet.InjuryScenario_id
    INNER JOIN City
        ON PlaceDet.City_id = City.City_id
    INNER JOIN Place
        ON InjuryScenario.Place_id = Place.Place_id)
这是我在aspx中的代码:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="InjuryScenario_id" DataSourceID="SqlDataSource30" ShowHeaderWhenEmpty="True">
     <Columns>
         <asp:BoundField DataField="InjuryScenario_id" HeaderText="InjuryScenario_id" ReadOnly="True" SortExpression="InjuryScenario_id"  />
         <asp:BoundField DataField="InjuryScenario_name" HeaderText="InjuryScenario_name" SortExpression="InjuryScenario_name" />
         <asp:BoundField DataField="Cause_name" HeaderText="Cause_name" SortExpression="Cause_name" />
         <asp:BoundField DataField="City_name" HeaderText="City_name" SortExpression="City_name" />
         <asp:BoundField DataField="Place_name" HeaderText="Place_name" SortExpression="Place_name" />
         <asp:BoundField DataField="InjuryDay" HeaderText="InjuryDay" SortExpression="InjuryDay" Visible="False"/>
         <asp:BoundField DataField="InjuryMonth" HeaderText="InjuryMonth" SortExpression="InjuryMonth" Visible="False"/>
         <asp:BoundField DataField="InjuryYear" HeaderText="InjuryYear" SortExpression="InjuryYear" Visible="False"/>
         <asp:TemplateField HeaderText="Date">
                      <ItemTemplate>
         <asp:Label runat="server"><%#(int)Eval("InjuryDay")+"/"+ Eval("InjuryMonth")+"/"+ Eval("InjuryYear") %></asp:Label>

     </ItemTemplate>

     </asp:TemplateField>

     </Columns>
    </asp:GridView>

我们需要查看insert语句,并了解如何唯一地识别每个案例以提供帮助。 我通常会这样做,每个新案例都有一个唯一的ID作为自动增量。此ID用于在所有表中强制引用完整性

然后,为了使最后十个案例失效,我只需要创建一个语句,如

选择。。。 从…起 我在哪里 从案例ID中选择案例ID.ID 按大小写排序\u ID.ID DESC,其中ROWNUM<11


希望这有帮助。

按什么顺序?你想只得到10个随机行吗?按最后一个字段日期插入的顺序编辑我的问题,插入代码在其中,你需要查看参数化SQL语句,以保护自己不受SQL注入的影响。好的,我来看看。。但是你知道为什么ir只显示一行而不是所有行吗?认为这是因为sql注入吗?我对c和sql都是新手。你能告诉我把这个查询放在哪里吗?在网格视图中?选择从…起Where ID IN CASE_ID.ID from CASE_ID ORDER BY CASE_ID.ID DESC Where ROWNUM<11任何人?请帮帮我!正如我在回答中所说,如果不了解您的数据模型,我们将无法帮助您。对于存储在这样一个表中的每个cae,您是否有唯一的ID,以便我的方法能够工作?
DBManager db = new DBManager();
db.Insert("InjuryScenario", "InjuryScenario_id,"+"Cause_id," + "CauseType_id," + 
"CauseChar_id," + "Place_id," + "PlaceType_id," + "InjuryYear," + "InjuryMonth," + 
"InjuryDay," + "InjuryDate_id," + "InjuryInSchool," + "InjuryDesc," + "AlmostInjury," 
+ "InjuryComments," + "ProductInjury","'"+ num_id + "'" + Cause_nameDD.SelectedValue + 
"','" + CauseTypeDD.DataValueField + "','" + CauseCharDD.SelectedValue + "','" + 
PlaceDD.SelectedValue + "','" + PlaceTypeDD.SelectedValue + "','" + 
YearDD.SelectedValue + "','" + MonthDD.SelectedValue + "','" + DayDD.SelectedValue + 
"','" + InjuryDateDD.SelectedValue + "','" + InjuryInSchoolCBL.SelectedValue + "','" + 
InjuryDescTB.Text + "','" + AlmostInjuryTB.Text + "','" + InjuryCommentTB.Text + "','" 
+ ProductInjuryCBL.Text + "'");