2016-05-22 3 views
0

Auf meiner Website habe ich 2 Tabellen, wo die erste Tabelle sendet customerNr, die steuern sollte, welche Informationen in meine zweite Tabelle geladen wird.Brauchen Sie Hilfe, um meine SqlDataSource aus einer Zeichenfolge in meiner CS-Datei zu sortieren

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

     tempKundeNr = e.CommandName; 
} 

tempKundeNr bekommt die richtigen Informationen, aber hier ist mein Problem: meine sqldatasource nach der Zeichenfolge zu sortieren.

Was ich unten habe funktioniert derzeit nicht, aber es zeigt hoffentlich, was ich anstrebe.

<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> 

bearbeiten *

Die Tabelle, die die Informationen, die ich sortieren, indem Sie benötigen sendet:

<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> 
+0

Haben Sie versucht, 'Order by' nach' where' zu ​​verwenden? – MaKCbIMKo

+0

Ich habe das versucht, aber das ist nur die Sortierreihenfolge ?, die Zeichenfolge tempKundeNr wird eine Nummer erhalten, wenn eine Schaltfläche angeklickt wird, und wenn das 6 ist, möchte ich die SQL nur erhalten, wo OrderNr = 6 – Humle

Antwort

0

Nun, müssen Sie die Parameter in where Klausel setzen (siehe unten):

<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> 

Hier gebe ich @orderNr Parameter.

Dann können Sie diesen Parameter in der Schaltfläche Click-Handler übergeben:

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

und dieser Parameter wird Ihnen Auswahlabfrage übergeben werden.

Sie können Sie sogar select Abfrage in Code-behind angeben (falls erforderlich):

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

Hoffe, es hilft.

+0

iam Problem hat Erhalten SqlDataSource3.SelectParameters.Add ("BestellNr", DbType.SomeType, someValue); richtig platziert (erfordert es spezifische Verwendung?), Ich habe die Tabelle hinzugefügt, die die Informationen an meinen ursprünglichen Post sendet. – Humle

+0

Welchen Fehler haben Sie? – MaKCbIMKo

Verwandte Themen