3

(VS 2010 C# Web サイト) Datagrid に表示される SQL データベースの FirstNames をフィルター処理するための TextBox1 がありますが、ユーザー入力を "TextBox1.Text" から WHERE 句にリンクする適切な方法がわかりません。 Datagrid フィルタリング用。私はもう試した:

SelectCommand="SELECT * FROM [TestName] WHERE ([TestFirstName] LIKE '%' + TextBox1.Text + '%')"
4

4 に答える 4

1
SelectCommand="SELECT * FROM [TestName] WHERE ([TestFirstName] LIKE '%' + @TestFirstName2 + '%')">
    <SelectParameters>
        <asp:ControlParameter ControlID="TextBox1" Name="TestFirstName2" 
            PropertyName="Text" Type="String" />
    </SelectParameters>
于 2012-07-02T18:58:13.440 に答える
0

SqlDataSourceまたはObjectDataSourceを使用してデータをデータグリッドにバインドしている場合は、使用しているDataSourceの「FilterExpression」プロパティにWHERE句を簡単に配置できます。

protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            string filterstr = "";

            if (this.tbSearchEmpID.Text.Trim() != String.Empty)
            {
                filterstr += "EmpId LIKE '%" + this.tbSearchEmpID.Text.Trim() + "%'";
            }

            this.ObjectDataSource1.FilterExpression = filterstr;
        }
于 2012-06-18T20:50:54.600 に答える
0
SelectCommand = "SELECT * FROM [TestName] WHERE ([TestFirstName] LIKE '% " + TextBox1.Text + "%')";
于 2012-06-18T20:47:07.160 に答える
0

これを試して:

SelectCommand="SELECT * FROM [TestName] WHERE ([TestFirstName] LIKE '%" + TextBox1.Text + "%')" 

+ TextBox1.Text + を囲む引用符に注意してください。上記の例は、TextBox1.Text の実際の値ではなく、リテラル文字列 TextBox1.Text を探しているようです。

于 2012-06-18T20:46:03.187 に答える