1

我有这些代码行,从 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,这样我就可以停止提出新手问题了吗?)

提前致谢。

4

1 回答 1

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

Book --> 用谷歌搜索

于 2013-05-24T17:23:36.570 回答