需要帮助从我的.cs文件中的字符串中排序我的SqlDataSource

时间:2016-05-22 12:53:59

标签: c# html mysql asp.net

在我的网站上我有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>

1 个答案:

答案 0 :(得分:0)

嗯,您需要将参数放在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";

希望它会有所帮助。