0

ドロップダウン リストを 2 つの列で連結すると、SQL データを取得できません。姓 (lName) + 名 (fName) を組み合わせて、それらの名前のデータを取得したいと思います。これが私がこれまでに持っているものです。

 <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
        DataSourceID="SqlDataSource3"  DataTextField="lName" DataValueField="lName" 
        AppendDataBoundItems="True" 
        onselectedindexchanged="DropDownList1_SelectedIndexChanged">
        <asp:ListItem Value="Select">Select</asp:ListItem>
    </asp:DropDownList>

  <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
        ConnectionString="<%$ ConnectionStrings:TestDBConnectionString1 %>" 
        SelectCommand="SELECT (lName + fName) AS zName FROM CoaTest"></asp:SqlDataSource>

次に、すべてのデータバウンドを含むフォームビューがあり、SQL 接続は次のようになります。

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:TestDBConnectionString1 %>" 
        DeleteCommand="DELETE FROM [CoaTest] WHERE [Id] = @Id" 
        SelectCommand="SELECT Id, fName, lName, agency, title, gen, hired, AppS,
        course, Location, SessNum, SDate, EDate, Hours, SitUps, pushUps, rTime, 
        Grade FROM CoaTest WHERE (lName = @lName)"


        UpdateCommand="UPDATE [CoaTest] SET [fName] = @fName, [lName] = @lName, [agency] = @agency, [title] = @title, [gen] = @gen, [hired] = @hired, [AppS] = @Apps, [course] = @course, [Location] = @Location, [SDate] = @SDate, [EDate] = @EDate, [Hours] = @Hours WHERE [Id] = @Id">
        <DeleteParameters>
            <asp:Parameter Name="Id" Type="Int32" />
        </DeleteParameters>
        <SelectParameters> 
            <asp:ControlParameter ControlID="DropDownList1" Name="lName"  
                PropertyName="SelectedValue" Type="String" /> 

        </SelectParameters>
        <UpdateParameters>
            <asp:Parameter Name="fName" Type="String" />
            <asp:Parameter Name="lName" Type="String" />
            <asp:Parameter Name="Agency" Type="String" />
            <asp:Parameter Name="title" />
            <asp:Parameter Name="gen" />
            <asp:Parameter Name="hired" />
            <asp:Parameter Name="Apps" />
            <asp:Parameter Name="course" />
            <asp:Parameter Name="Location" />
            <asp:Parameter Name="SDate" />
            <asp:Parameter Name="EDate" />
            <asp:Parameter Name="Hours" />
            <asp:Parameter Name="Id" Type="Int32" />
        </UpdateParameters>
    </asp:SqlDataSource>

これは、姓 (lName) でプルするだけで機能しますが、連結しようとすると、フォームビューからデータをプルしません。前もって感謝します!!

4

2 に答える 2

1

ドロップダウンの選択コマンドをSELECT Id, (lName + fName) AS zName FROM CoaTestに変更し、ドロップダウンのDataValueField値をに変更し、Idデータを名前ではなくIDでFormViewに選択します。

于 2012-10-18T19:19:02.550 に答える
0

DataValueFieldとプロパティは次のようにする必要があると思いますDataTextField

  • datavaluefield ="zname"、連結の別名が zname no lname という名前であるため

また、データソース クエリで lname テーブル列を投影または表示していません

于 2012-10-18T19:11:30.243 に答える