嘿,我的问题是我正在调用存储过程并将记录放入ADODB RecordSet中。 当我检查field.count时,它说我有6个结果,这是好的。但当我尝试循环到该记录集时,它会跳过其中一个。继承我的代码
oRs = g_oSQL.GetRecords("PS_palFetchAllPalette_sel")
If Not oRs Is Nothing Then
cmbPallet.Items.Clear()
oRs.MoveFirst()
While Not oRs.EOF
If oRs.Fields.Item("palcode").Value.ToString() <> "None" Then
cmbPallet.Items.Add(oRs.Fields.Item("palcode").Value.ToString())
End If
oRs.MoveNext()
End While
答案 0 :(得分:1)
我暂时没有使用ADODB,但是field.count不会指示记录集中的字段数而不是返回的记录数?您可能已返回0条记录但仍具有查询的元数据。
您确定检查“无”是否有效?这将要求palcode不是空的或Null但实际值为“None”。在While循环中设置一个断点,看看你是否达到预期的效果。
答案 1 :(得分:1)
我认为当你用oRs.MoveNext()到达你的最后一条记录时,你会在EOF,所以下一个循环不会发生。尝试改变循环的结构。
With oRs
Do Until .EOF
'get your data
.MoveNext
Loop
结束