【问题标题】:ASP.NET Oracle QueryASP.NET Oracle 查询
【发布时间】:2009-12-29 19:00:18
【问题描述】:

什么代码会将查询(或任何查询)的结果放入 HTML 表中?

ReadOnly QUERY As String = "SELECT * FROM DUAL"

Public Sub page_load()
    Dim myConn As New OracleConnection( _
        ConfigurationManager.ConnectionStrings("DB").ConnectionString)
    myConn.Open()

    Dim myCommand As New OracleCommand(QUERY, myConn)
    Dim myReader As OracleDataReader
    myReader = myCommand.ExecuteReader()

    'Insert Code Here'

    myConn.Close()
End Sub

【问题讨论】:

  • DUAL 中没有任何内容,SELECT * 不会返回任何列
  • @OMG Ponies:这绝对不是真的。 DUAL 有一列 (DUMMY) 和一行。

标签: asp.net database vb.net oracle


【解决方案1】:

首先...使用<asp:Table id="myTable" runat="server"></asp:Table>向您的标记添加一个表格

然后在你的代码中,试试这个:

While myReader.Read
  Dim myRow as HTMLTableRow = New HTMLTableRow

  For i as Integer = 0 to myReader.FieldCount- 1
    Dim myCell as HTMLTableCell = New HTMLTableCell

    myCell.InnterText = myReader.GetString(i)

    myRow.Cells.Add(myCell)
  Next i

  myTable.Rows.Add(myRow)
End While

【讨论】:

  • 附带说明,除非需要特定功能,否则最好使用 IDataReader 而不是 OracleDataReader 对象。这将有助于使您的代码更加通用和可移植。
【解决方案2】:

使用布尔Read 方法遍历阅读器:

while (myReader.Read())
{
    'Write out to html, or populate server side controls.
    'use myReader.GetXxx(index) methods here to get to the data
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多