【问题标题】:Need help to sort my SqlDataSource from a string i have in my .cs file需要帮助从我的 .cs 文件中的字符串中对我的 SqlDataSource 进行排序
【发布时间】:2016-05-22 12:53:58
【问题描述】:

在我的网站上,我有 2 个表,其中第一个表发送 customerNr,它应该控制加载到我的第二个表中的信息。

protected void DataList2_ItemCommand(object source, DataListCommandEventArgs e)
{
    string tempKundeNr;

        tempKundeNr = e.CommandName;
}

tempKundeNr 获得了正确的信息,但这是我的问题:将我的 sqldatasource 排序在字符串之后。

我下面的内容目前无法运行,但它希望能显示我的目标。

<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:XXXXX %>"
                    ProviderName="<%$ ConnectionStrings:XXXXX.ProviderName %>" SelectCommand="SELECT [XXXXX], [XXXXX], [XXXXX] FROM [XXXXX] WHERE ([OrderNr] = ?)">
    <SelectParameters>

            <asp:QueryStringParameter Name="OrderNr" QueryStringField="tempKundeNr" Type="Int32" />

    </SelectParameters>
  </asp:SqlDataSource>

编辑*

发送我需要排序的信息的表格:

 <asp:DataList ID="OrdersList2" runat="server" CellPadding="4" DataKeyField="OrderNr"
                    DataSourceID="SqlDataSource2" ForeColor="#333333"
                    onitemcommand="DataList2_ItemCommand">
                    <ItemTemplate>
                        <table>
                            <tr>
                                <td>
                                    <b>Ordre Nummer: </b>
                                    <asp:Label ID="OrderNrLabel" runat="server" Text='<%# Eval("OrderNr") %>'/>
                                    <br /><br />
                                    <b>Kunde:</b>
                                    <asp:Label ID="KundeLabel" runat="server" Text='<%# Eval("XXX") %>' />
                                    <br />
                                    <b>Ønsket afhentningstid:</b>
                                    <asp:Label ID="HentwLabel" runat="server" Text='<%# Eval("XXX") %>' />
                                    <br />
                                    <b>Total Pris:</b>
                                    <asp:Label ID="PrisLabel" runat="server" Text='<%# Eval("XXX") %>' />
                                    <br /><br />
                                    <asp:Button ID="btnwinfo" runat="server" CssClass="button" Text="Se Mere" CommandName='<%# Eval("OrderNr") %>' CommandArgument='<%# Eval("OrderNr") %>'  />

                                </td>
                            </tr>
                        </table>
                    </ItemTemplate>
                </asp:DataList>

【问题讨论】:

  • 您是否尝试在where 子句之后使用Order by
  • 我试过了,但这只是排序顺序?,当单击按钮时,字符串 tempKundeNr 会得到一个数字,如果是 6,那么我希望 sql 只获取 OrderNr 的信息是 = 6

标签: c# html mysql asp.net


【解决方案1】:

好吧,你需要把参数放在where子句中(见下文):

<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:XXXXX %>"
                    ProviderName="<%$ ConnectionStrings:XXXXX.ProviderName %>" SelectCommand="SELECT [XXXXX], [XXXXX], [XXXXX] FROM [XXXXX] WHERE [OrderNr] = @orderNr">
</asp:SqlDataSource>

这里我放了@orderNr参数。

然后你可以在你的按钮点击处理程序中传递这个参数:

SqlDataSource3.SelectParameters.Add("orderNr", DbType.SomeType, someValue);

这个参数会传给你选择查询。

您甚至可以在代码隐藏中指定 select 查询(如有必要):

SqlDataSource3.SelectCommand = "SELECT [XXXXX], [XXXXX], [XXXXX] FROM [XXXXX] WHERE [OrderNr] = @orderNr";

希望它会有所帮助。

【讨论】:

  • 我在获取 SqlDataSource3.SelectParameters.Add("orderNr", DbType.SomeType, someValue); 时遇到问题正确放置(是否需要特定使用?),我已添加将信息发送到原始帖子的表格。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-27
  • 1970-01-01
  • 2015-06-28
  • 2014-06-29
  • 1970-01-01
相关资源
最近更新 更多