ASP.Netのお勉強

SqlDataSourceに条件検索を追加@ASP.Net

SqlDataSourceに条件検索を追加します。
検索結果は、GridViewで表示します。

aspx側では、GridViewとSqlDataSourceを配置しただけです。
vb側で検索ボタンをクリックした時に、条件検索を付加します。

SqlDataSourceのSelectCommandに条件検索のSQL文を設定します。
SelectParameters.Addにより、パラメータを設定します。
この時、「@」は必要ないです。

●aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>GridViewとSqlDataSource</title>
</head>
<body>
    <form id="form1" runat="server">
        名前:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="検索" /><br />
        <br />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID"
            DataSourceID="SqlDataSource1" PageSize="4" AllowPaging="True">
            <Columns>
                <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" />
                <asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnectionString %>"
            SelectCommand="SELECT [ID], [NAME] FROM [TABLE]"></asp:SqlDataSource>
    </form>
</body>
</html>


●vb

Partial Class _Default
    Inherits System.Web.UI.Page


    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        If (Me.TextBox1.Text <> "") Then
            'TextBoxが空ならば、条件検索を行う。
            Me.SqlDataSource1.SelectCommand = "SELECT [ID], [NAME] FROM [TABLE] WHERE [NAME] = @NAME"

            'パラメータをクリア
            Me.SqlDataSource1.SelectParameters.Clear()

            'パラメータをセット
            '@は必要ないです。
            Me.SqlDataSource1.SelectParameters.Add("NAME", Me.TextBox1.Text)

        Else
            'TextBoxが空ならば、全件検索
            Me.SqlDataSource1.SelectCommand = "SELECT [ID], [TABLE] FROM [MS_USR]"
        End If

    End Sub
End Class

Copyright (C) ASP.Netのお勉強. All Rights Reserved.