如何在If语句上使用(RecordSet).EOF?

时间:2013-05-24 16:56:15

标签: vb6 vb6-migration

我有这些代码行,从vb6尝试将它们迁移到vb.net。 他们背后的逻辑是什么?

RegFileHf.CommandText = "Select dayspassed from Config"
  Set UltHf = RegFileHf.Execute
  If Not UltHf.EOF Then
    someDate  = Date - UltHf.Fields("dayspassed")
  Else
    someDate = Date - 180
  End If

If语句执行多次直到文件结束? 只有当我的SQL查询中没有行时,else部分才会进入吗?

(你们可以推荐好书来学习VB.NET,这样我就可以停止制作新手问题了吗?)

提前致谢。

1 个答案:

答案 0 :(得分:4)

EOF条件意味着你到达数据的末尾..这意味着没有行返回

所以,如果有(a)行会触发 - > someDate = Date - UltHf.Fields(“dayspassed”)

如果没有排它 - >> someDate = Date - 180

像这样......

在VB.NET中

 Dim query = "Select dayspassed from Config"
 Dim dc = New OleDbCommand(query, connection)
 Dim rows As OleDb.OleDbDataReader
 rows = dc.ExecuteReader

 If rows.HasRows Then
   '...... someDate  = Date - rows.item("dayspassed")
 else  
   '...... someDate = Date - 180
 End If

预订 - >尝试谷歌找到