Seek en FW_ArrayAsRecordSet()

Seek en FW_ArrayAsRecordSet()

Postby Cgallegoa » Sun Aug 06, 2023 5:41 pm

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 view
#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-23.10, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Cgallegoa
 
Posts: 425
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador

Re: Seek en FW_ArrayAsRecordSet()

Postby cnavarro » Sun Aug 06, 2023 5:54 pm

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
User avatar
cnavarro
 
Posts: 6501
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Seek en FW_ArrayAsRecordSet()

Postby Cgallegoa » Sun Aug 06, 2023 11:53 pm

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-23.10, xHarbour 1.2.3 Build 20190603, Borland C++7.30, PellesC ***
Cgallegoa
 
Posts: 425
Joined: Sun Oct 16, 2005 3:32 am
Location: Quito - Ecuador


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: groiss and 33 guests