1

我已经看到了几个如何通过将所有代码放在 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 字符串。有什么想法吗?

4

1 回答 1

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()
于 2013-01-24T14:41:33.180 回答