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
ADO + FWH + DBF + SQL
Ariel
Me invadió la duda.... pero prueba a colocar la declaración de la consulta cSQL1 antes de asignarle a
oRs:Source
cSQL1 = "insert into F10TAA ( CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR ) select CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR from F10T01 where CODBAR = '8888888888888'"
oRs:Source := cSQL1
Puedes enontrar más información de los objetos ADO en
http://msdn.microsoft.com/library/defau ... jfield.asp
Marcelo Jingo
Me invadió la duda.... pero prueba a colocar la declaración de la consulta cSQL1 antes de asignarle a
oRs:Source
cSQL1 = "insert into F10TAA ( CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR ) select CODINTPRD, NOMPRD, PRCVTA, PRCSUG, CODBAR from F10T01 where CODBAR = '8888888888888'"
oRs:Source := cSQL1
Puedes enontrar más información de los objetos ADO en
http://msdn.microsoft.com/library/defau ... jfield.asp
Marcelo Jingo
Segun mi conocimiento de ADO no deberias de modificar o insertar datos usando un query, ADO tiene metodos para hacer eso directamente.
Si quieres por ejemplo modificar un dato del record set haces:
oRs:field(x):Value := lo que quieras
oRs:Update()
si haces un query que inserte datos en una tabla o que los modfique el resultado de la ejecucion de dicho query, sobre un recordset, lo que este recordset te devuelve NO ES LA TABLA CON EL REGISTRO ACTUALIZADO O MODIFICADO, el recorset regresa el resultado de la operacion realizada, puede ser un valor numerico, o un valor logico, pero nunca regresa una tabla.
Si quieres por ejemplo modificar un dato del record set haces:
oRs:field(x):Value := lo que quieras
oRs:Update()
si haces un query que inserte datos en una tabla o que los modfique el resultado de la ejecucion de dicho query, sobre un recordset, lo que este recordset te devuelve NO ES LA TABLA CON EL REGISTRO ACTUALIZADO O MODIFICADO, el recorset regresa el resultado de la operacion realizada, puede ser un valor numerico, o un valor logico, pero nunca regresa una tabla.
Saludos
R.F.
R.F.
ADO + FWH + DBF + SQL II
Gracias por la ayuda, me podrían decir como veo los metodos y propiedades para trabajar con ADO en FHW?,
Gracias.
Ariel,
Gracias.
Ariel,
El siguiente link puede serte de gran ayuda
http://www.aspfacil.com/articulos/040401.asp
Un saludo
Marcelo Jingo
http://www.aspfacil.com/articulos/040401.asp
Un saludo
Marcelo Jingo