ADO + FWH + DBF + SQL
Posted: Wed Nov 08, 2006 7:17 am
Buenas a todos,
1) De donde puedo sacar información de las propiedades y metodos de ADO??
2) Quisiera saber que estoy haciendo mal en este código. El Browse con el primer recordset me lo muestra de maravilla, ahora cuando quiero insertar en la tabla F10TAA.DBF el contenido de F10T01 (Las dos son iguales) me da el siguiente error.
Error occurred at: 11/08/06, 04:14:32
Error description: Error ADODB.RecordSet/14 DISP_E_BADPARAMCOUNT: EXECUTE
Args:
Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:EXECUTE(0)
Called from: TestAdo.prg => MAIN(105)
El código más abajo.
FUNCTION MAIN()
LOCAL oRs, oRs1, cConn , cConn1 , oErr ,cSQL, cSQL1, cSQL_select, cSQL_from, cSQL_where, cSQL_order
cSQL_select = "select F10T01.CODINTPRD, F10T01.NOMPRD, F10T01.PRCSUG, F10T01.CODRUB, F10G02.NOMRUB, F10T01.CODBAR "
cSQL_from = "from F10T01, F10G02 "
cSQL_where = "where F10T01.CODRUB = F10G02.CODRUB and F10T01.CODBAR = '8888888888888'"
cSQL_order = "order by F10T01.NOMPRD"
cSQL = cSQL_select + cSQL_from + cSQL_where + cSQL_order
oRs := CreateObject("ADODB.RecordSet")
oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:CursorType := adOpenDynamic
oRs:ActiveConnection := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\ft\apl;Extended Properties=dBASE IV"
oRs:Source := cSQL
TRY
oRs:Open()
oRs:MoveFirst()
CATCH oErr
? oErr:Description
RETURN NIL
END TRY
// Funciona OK!!!!
TCBROWSERECORDSET( oRs )
oRs:Close()
oRs := CreateObject("ADODB.RecordSet")
oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:CursorType := adOpenDynamic
oRs:ActiveConnection := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\ft\apl;Extended Properties=dBASE IV"
oRs:Source := cSQL1
// Aquí es donde da el error
cSQL1 = "insert into F10TAA ( CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR ) select CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR from F10T01 where CODBAR = '8888888888888'"
oRs:Open()
oRs:Update()
oRs:Close()
RETURN NIL
---------------------------------------------------------------------------------
Muchas Gracias a todos,
Ariel S Gigliotti
1) De donde puedo sacar información de las propiedades y metodos de ADO??
2) Quisiera saber que estoy haciendo mal en este código. El Browse con el primer recordset me lo muestra de maravilla, ahora cuando quiero insertar en la tabla F10TAA.DBF el contenido de F10T01 (Las dos son iguales) me da el siguiente error.
Error occurred at: 11/08/06, 04:14:32
Error description: Error ADODB.RecordSet/14 DISP_E_BADPARAMCOUNT: EXECUTE
Args:
Stack Calls
===========
Called from: win32ole.prg => TOLEAUTO:EXECUTE(0)
Called from: TestAdo.prg => MAIN(105)
El código más abajo.
FUNCTION MAIN()
LOCAL oRs, oRs1, cConn , cConn1 , oErr ,cSQL, cSQL1, cSQL_select, cSQL_from, cSQL_where, cSQL_order
cSQL_select = "select F10T01.CODINTPRD, F10T01.NOMPRD, F10T01.PRCSUG, F10T01.CODRUB, F10G02.NOMRUB, F10T01.CODBAR "
cSQL_from = "from F10T01, F10G02 "
cSQL_where = "where F10T01.CODRUB = F10G02.CODRUB and F10T01.CODBAR = '8888888888888'"
cSQL_order = "order by F10T01.NOMPRD"
cSQL = cSQL_select + cSQL_from + cSQL_where + cSQL_order
oRs := CreateObject("ADODB.RecordSet")
oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:CursorType := adOpenDynamic
oRs:ActiveConnection := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\ft\apl;Extended Properties=dBASE IV"
oRs:Source := cSQL
TRY
oRs:Open()
oRs:MoveFirst()
CATCH oErr
? oErr:Description
RETURN NIL
END TRY
// Funciona OK!!!!
TCBROWSERECORDSET( oRs )
oRs:Close()
oRs := CreateObject("ADODB.RecordSet")
oRs:CursorLocation := adUseClient
oRs:LockType := adLockOptimistic
oRs:CursorType := adOpenDynamic
oRs:ActiveConnection := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\ft\apl;Extended Properties=dBASE IV"
oRs:Source := cSQL1
// Aquí es donde da el error
cSQL1 = "insert into F10TAA ( CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR ) select CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR from F10T01 where CODBAR = '8888888888888'"
oRs:Open()
oRs:Update()
oRs:Close()
RETURN NIL
---------------------------------------------------------------------------------
Muchas Gracias a todos,
Ariel S Gigliotti