Seek en FW_ArrayAsRecordSet()

Post Reply
Cgallegoa
Posts: 497
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Has thanked: 1 time
Been thanked: 1 time
Contact:

Seek en FW_ArrayAsRecordSet()

Post by Cgallegoa »

Saludos cordiales a todos.

Se supone que la función FW_ArrayAsRecordSet() devuelve un objeto tipo ADODB.RecordSet, objeto que con bases en MaríaDB, MySql, Postgresql, Sqlite, etc., incluye el método Seek(), el cual funciona de maravilla. Pero, con la función de marras genera el error "Error ADODB.RecordSet/6 DISP_E_UNKNOWNNAME: PROPERTIES"

Code: Select all | Expand

#include "FiveWin.ch"

REQUEST DBFCDX

Function Main()
  LOCAL aStruct := {}, aRegs := {}, oRs

  SET EXCLUSIVE OFF
  SET DATE FORMAT TO "dd-mm-yyyy"

  RddSetDefault("DBFCDX")
  dbUseArea(.T.,,"D:\FWH\SAMPLES\CUSTOMER.DBF","Cust")
  dbSetIndex("D:\FWH\SAMPLES\CUSTOMER.CDX")
  OrdSetFocus("Last")

  aStruct := dbStruct()
  aRegs   := FW_DbfToArray()
  oRs     := FW_ArrayAsRecordSet( aRegs, aStruct )
 // xBrowse(oRs, "oRs ArrayAsRecordSet from DBF")
  oRs:Seek( "Simpson" , .T., .F.)   // Genera "Error ADODB.RecordSet/6  DISP_E_UNKNOWNNAME: PROPERTIES"

  dbCloseall()
Return(NIL)
 
Cómo se puede corregir ? Utilizo FWH 20.07, xHarbour y Borland 7.3
Un abrazo,
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
User avatar
cnavarro
Posts: 6572
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Has thanked: 4 times
Been thanked: 6 times

Re: Seek en FW_ArrayAsRecordSet()

Post by cnavarro »

Carlos, con
oRs:Seek( "Simpson" )
me tira el error:
Descripción del Error : (DOS Error -2147352567) WINOLE/1007 El proveedor actual no admite la interfaz necesaria para la funcionalidad Índice. (0x800A0CB3): ADODB.Recordset
y con
oRs:Seek( "Simpson", .T., .F. )
me dice
Descripción del Error : (DOS Error -2147352562) WINOLE/1007 Argument error: SEEK
Pero no el error que mencionas
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Cgallegoa
Posts: 497
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador
Has thanked: 1 time
Been thanked: 1 time
Contact:

Re: Seek en FW_ArrayAsRecordSet()

Post by Cgallegoa »

Cristobal, gracias por tu respuesta

Copié el mensaje de error equivocado :D :oops:

El error es : Error ADODB.RecordSet/6 DISP_E_UNKNOWNNAME: SEEK

De cualquier manera, no funciona el Seek y es una pena pues la functión se ve super prometedora. Parece una buena opción a TDatabase, pues esta última, aunque es excelente te obliga a manterner la tabla abierta, mientras con con FW_ArrayAsRecordSet(), abres la tabla, instancias la función, obtienes tu RecordSet y puedes cerrar tu tabla sin problema, especialmente cuando se trata de sólo consultas con tablas muy grandes.

Se te ocurre alguna alternativa ?
Saludos,

Carlos Gallego

*** FWH-24.07, xHarbour 1.3.1 Build 20240624, Borland C++7.70, PellesC ***
Post Reply