ADODB Recordset对象可能具有空字段值,但查询结果确实具有所有值

时间:2017-12-11 14:29:19

标签: .net sql-server vb.net adodb

我尝试将一些从DataBase中获取的数据存储在ADODB.Connection对象中,以便稍后在程序中使用该对象。问题是最近该对象有一些字段值为"没有"但是使用的查询会填充所有字段。

我有一个函数可以检索我需要的信息,然后将结果设置为我稍后使用的对象。

Dim recordSet As Object

recordSet = Server.CreateObject("ADODB.RecordSet")

recordSet = functionThatReturnsAObject()

'Later I access to the values of the object

当我使用时:

recordSet.GetRows()

数组的某些值返回Nothing。

但如果我这样做:

functionThatReturnsAObject().GetRows

它返回包含它的所有字段的值。

我使用的功能是这样的:

Private Function functionThatReturnsAObject() As Object    
  Dim anotherRecordSet As Object = Server.CreateObject("ADODB.RecordSet")
  Dim sqlCommand As Object = Server.CreateObject("ADODB.Command")
  Dim bdConnection As Object = CreateObject("ADODB.Connection")

  bdConnection.Open(GlobalVar)
  sqlCommand.ActiveConnection = bdConnection
  sqlCommand.CommandText = "SELECT 'HERE_GOES_THE_QUERY'"

  sqlCommand.CommandType = 1
  sqlCommand.Prepared = True
  With sqlCommand.Parameters
    .Append(sqlCommand.CreateParameter("param", 200, 1, 10, value))
    'More parameters come here
  End With
  anotherRecordSet = sqlCommand.Execute

  Return anotherRecordSet 
End Function

我不确定它是否与查询的列数相关(超过70)。但是当我尝试将返回功能的值分配给稍后需要使用的对象时,问题就来了。或者也许是因为我使用.Execute而不是.Open?

0 个答案:

没有答案