过滤绑定网格视图以下拉

时间:2013-01-24 14:29:25

标签: asp.net vb.net

我已经看到了一些如何通过将所有代码放在aspx文件中来做到这一点的例子,但我正试图从代码隐藏中做到这一点。这是我在后面的代码中所拥有的:

    Dim dt As New DataTable

    Using conn As New OleDbConnection(ConnectionString)
        conn.Open()
        Dim dtAdapter As New OleDbDataAdapter
        Dim command As New OleDbCommand("SELECT * FROM table " & _
                                     "" _
                                    , conn)

        dtAdapter.SelectCommand = command
        dtAdapter.Fill(dt)
        conn.Close()
    End Using


    GridView1.DataSource = dt
    GridView1.DataBind()

我对任何解决方案持开放态度,但如果可能的话,我更愿意在代码隐藏中执行此操作,因为应用程序的其余部分是如此。我不需要使用gridview只显示一些表格数据,所以无论什么工作都没关系。我试图避免手动构建SQL字符串。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我没有看到这个问题。如果您不知道如何过滤查询中的记录,请将Where子句与参数一起使用:

Dim dt = New DataTable()
Using conn As New OleDbConnection(ConnectionString)
    Dim queryString As String = "SELECT * FROM Table WHERE Field1 LIKE ?"
    Dim command As OleDbCommand = New OleDbCommand(queryString, conn)
    command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a%"
    Using da = New OleDbDataAdapter(command)
        ' you don't need to open/close a connection if you use DataAdapter.Fill
        da.Fill(dt)
    End Using
End Using
GridView1.DataSource = dt
GridView1.DataBind()