我有以下代码可以完成其应做的工作:

objSQLCommand = New SqlCommand("select * from table1", objSQLConnection)

objSQLCommand.Connection.Open()
objSQLDataReader = objSQLCommand.ExecuteReader()

While objSQLDataReader.Read()
    objStringBuilder.Append(objSQLDataReader("forename"))
    objStringBuilder.Append("<br /><br />")
    objStringBuilder.Append(objSQLDataReader("surname"))
    objStringBuilder.Append("<br /><br />")
End While

objSQLDataReader.Close()
objSQLCommand.Connection.Close()

但是我需要再遍历objSQLDataReader 1一次。我该怎么做?

最佳答案

三种选择:

  • 执行两次查询(仅此类读者为转发类)
  • 在本地缓冲数据,然后对其进行两次处理(“缓冲区”可以是对象集合,XML,DataTable(吐出)等)
  • 同时写两个输出。即对于每一行,将第一种格式写入第一个输出,然后将第二种格式写入第二个输出

  • 我可能会针对最后一个选项,因为它不涉及缓冲或重复。但是我将每种方法的逻辑移到2个不同的方法中

    关于.net - 两次通过DataReader,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5487868/

    10-13 02:23