0

テキスト ボックスを出力する ASP.NET Web ページを作成しようとしています。ユーザーはこのテキスト ボックスにキーを入力し、そのキーを使用して SQL コードの WHERE 条件に入力し、キーに一致するデータを出力します。たとえば、ユーザーがテキスト ボックスに ArtistID を入力すると、SPEEDOFSALEREPORT を使用してテーブルを印刷する必要があります。

SELECT * FROM SPEEDOFSALEREPORT WHERE ArtistID = "ユーザーが入力したキー"

しかし、方法がわかりません。以下のコードは、テキスト ボックスを作成し、テーブル内のすべての行を出力します。ヒントをください。私は一日中グーグルを試しましたが、答えが見つかりません。ありがとうございました。

これは私の更新された Default.aspx です

    <body>
    <form id="form1" runat="server">
    <asp:TextBox ID="txtArtistID" runat="server" /><br /><br />
    <asp:Button ID="btnSearch" runat="server" Text="Search" CssClass="submit" />

    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="TRANSACTIONID" HeaderText="TRANSACTIONID" 
                    SortExpression="TRANSACTIONID" />
                <asp:BoundField DataField="WORKID" HeaderText="WORKID" 
                    SortExpression="WORKID" />
                <asp:BoundField DataField="ARTISTID" HeaderText="ARTISTID" 
                    SortExpression="ARTISTID" />
                <asp:BoundField DataField="DATEACQUIRED" HeaderText="DATEACQUIRED" 
                    SortExpression="DATEACQUIRED" />
                <asp:BoundField DataField="DATESOLDID" HeaderText="DATESOLDID" 
                    SortExpression="DATESOLDID" />
                <asp:BoundField DataField="TURNAROUNDDAYS" HeaderText="TURNAROUNDDAYS" 
                    SortExpression="TURNAROUNDDAYS" />
                <asp:BoundField DataField="ASKINGPRICE" HeaderText="ASKINGPRICE" 
                    SortExpression="ASKINGPRICE" />
                <asp:BoundField DataField="SALESPRICE" HeaderText="SALESPRICE" 
                    SortExpression="SALESPRICE" />
                <asp:BoundField DataField="SALESMARGIN" HeaderText="SALESMARGIN" 
                    SortExpression="SALESMARGIN" />
            </Columns>
        </asp:GridView>
    </div>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="Data Source=oracle2;User ID=****;Password=****;Unicode=True" 
    ProviderName="System.Data.OracleClient" 
    SelectCommand="SELECT * FROM SPEEDOFSALEREPORT WHERE ARTISTID = @artistID;">

    <SelectParameters>
        <asp:ControlParameter Name="artistID" ControlID="txtArtistID" PropertyName="Text" />
    </SelectParameter>
</asp:SqlDataSource>

    </form>
</body>
4

3 に答える 3

1

ArtistID をパラメーターとして使用し、テキスト ボックスと送信ボタンを次のように ASP コントロールに変更する必要があります。

<asp:TextBox ID="txtArtistID" runat="server" /><br /><br />
<asp:Button ID="btnSearch" runat="server" Text="Search" CssClass="submit" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="Data Source=oracle2;User ID=******;Password=***********;Unicode=True" 
    ProviderName="System.Data.OracleClient" 
    SelectCommand="SELECT * FROM SPEEDOFSALEREPORT WHERE ARTISTID = @artistID;">
    <SelectParameters>
        <asp:ControlParameter Name="artistID" ControlID="txtArtistID" PropertyName="Text" />
    </SelectParameters>
</asp:SqlDataSource>

次に、コード ビハインド (VB.NET) のボタン クリックでグリッドをバインドします。

Protected Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
    GridView1.DataBind()
End Sub

または (C#):

protected void btnSearch_Click(Object sender, EventArgs e)
{
    GridView1.DataBind();
}
于 2013-04-10T13:39:04.447 に答える
0
protected void Button1_Click(object sender, EventArgs e){
        if (TextBox1.Text != ""){
        con.Open();
        int i = 0;
        SqlCommand cmd0 = new SqlCommand("select noticeid from TBLnotice where noticeid='" + TextBox1.Text + "'", con);
        i= int.Parse(cmd0.ExecuteScalar().ToString());
        if (i > 0){
            SqlCommand cmd1 = new SqlCommand("select notice from TBLnotice where noticeid='" + TextBox1.Text + "'", con);
            string name = cmd1.ExecuteScalar().ToString();
            txtadds.Text = name;
            TextBox1.Text = "";
            txtadds.Text = "";
            con.Close();
        }
        else{
            Label7.Visible = true;
            con.Close();
        }
    }
}
于 2015-02-17T10:25:26.483 に答える