0

VisualStudioとASP.NETの両方を初めて使用します。

大学のデータベースコース用にこのプロジェクトを作成していますが、VisualStudioを使用してWebベースにしたいです。そこで、サイトを作成したり、DBをインポートしたりして、ユーザー入力パラメーターを使用してクエリを作成したいと思います。クエリビルダーを使用して、次のSQLステートメントを作成しました。

SELECT [Column1], [Column2], Column3 
FROM [DataBaseTable]
WHERE ([Column1] = ?)

クエリビルダーの次のステップは、パラメーターソースを定義する必要がある場所です。DropDownListを使用して、コントロールソースが必要であることがわかりました。リストアイテムを作成し、コントロールオプションを介してリストをパラメーターに割り当てました。

したがって、サイトを起動すると、クエリが機能し、最初のリストアイテムから値を取得します。問題は、別のリストアイテムを選択して、クエリ値を動的に変更したいということです。そうするために私は何をする必要がありますか?

編集:これはコードです:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="AccessDataSource1" Height="269px" Width="923px">
    <Columns>
        <asp:BoundField DataField="Column1" HeaderText="Column1" SortExpression="Column1" />
        <asp:BoundField DataField="Column2" HeaderText="Column2" SortExpression="Column2" />
        <asp:BoundField DataField="Column3" HeaderText="Column3" SortExpression="Column3" />
    </Columns>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/Road.accdb" SelectCommand="SELECT [Column1], [Column2], [Column3] FROM [Второкласни пътища] WHERE ([Column1] = ?)">
    <SelectParameters>
        <asp:ControlParameter ControlID="DropDownList1" DefaultValue="" Name="?" PropertyName="SelectedValue" />
    </SelectParameters>
</asp:AccessDataSource>
<asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem>1</asp:ListItem>
    <asp:ListItem>2</asp:ListItem>
    <asp:ListItem>3</asp:ListItem>
</asp:DropDownList>
4

1 に答える 1

0

あなたのコードに基づいて、小さな変更が 1 つだけ必要な場合があると思います。"AutoPostBack="true" を DDL に追加します。より明確にするために、ListItems に明示的な値も指定します。このようにして、ListItem テキストを便利なものに設定できます (数値が DB で表すと想定されているものは何でも)。

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
    <asp:ListItem Value="1">1</asp:ListItem>
    <asp:ListItem Value="2">2</asp:ListItem>
    <asp:ListItem Value="3">3</asp:ListItem>
</asp:DropDownList>
于 2013-01-05T02:38:16.927 に答える