循环SqlDataReader似乎只有一行失败的结果



我有这样的代码

If (sqlDataRdr.HasRows) Then
  Do While sqlDataRdr.Read()
    outstring = outstring & Trim(sqlDataRdr.Item("a_bill_number").ToString()) & "|" & Trim(sqlDataRdr.Item("ad_old_amount").ToString()) & "|" & Trim(sqlDataRdr.Item("c_cid_name1").ToString()) & "|" & Trim(sqlDataRdr.Item("bs_prev_read_date").ToString()) & "|" & Trim(sqlDataRdr.Item("bs_read_date").ToString()) & "*"
  Loop
Else
  outstring = "No records found for the entered criteria. Please try again."
End If

正如标题所说,只要返回多行,我就能得到结果,但如果结果是单行,就会超时。我肯定我错过了一些愚蠢的东西,或者做错了。我是一个PHP开发人员,被迫编写一些。net,所以请温柔:)

Try This:

If (sqlDataRdr.HasRows) Then
While sqlDataRdr.Read()
   outstring = outstring & Trim(sqlDataRdr.GetValue(sqlDataRdr.GetOrdinal("a_bill_number"))) & "|" & Trim(sqlDataRdr.GetValue(sqlDataRdr.GetOrdinal("ad_old_amount"))) & "|" & Trim(sqlDataRdr.GetValue(sqlDataRdr.GetOrdinal("c_cid_name1"))) & "|" & Trim(sqlDataRdr.GetValue(sqlDataRdr.GetOrdinal("bs_prev_read_date"))) & "|" & Trim(sqlDataRdr.GetValue(sqlDataRdr.GetOrdinal("bs_read_date"))) & "*"
end While
Else
   outstring = "No records found for the entered criteria. Please try again."
End If

这是从SqlDataReader中检索数据的一种稍微不同的方法,即使其中只有一条记录,它也可以正常工作。

最新更新