ADO + FWH + DBF + SQL

ADO + FWH + DBF + SQL

Postby akeyser » 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
akeyser
 
Posts: 3
Joined: Mon Oct 10, 2005 7:05 pm
Location: Argentina

Postby sjingo » Fri Nov 10, 2006 3:01 am

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/default.asp?url=/library/en-us/ado270/htm/mdobjfield.asp


Marcelo Jingo
User avatar
sjingo
 
Posts: 229
Joined: Sat Mar 18, 2006 3:42 pm
Location: Ibarra-Ecuador

Postby R.F. » Fri Nov 10, 2006 5:53 am

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.
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

ADO + FWH + DBF + SQL II

Postby akeyser » Sat Nov 11, 2006 12:01 am

Gracias por la ayuda, me podrían decir como veo los metodos y propiedades para trabajar con ADO en FHW?,

Gracias.

Ariel,
akeyser
 
Posts: 3
Joined: Mon Oct 10, 2005 7:05 pm
Location: Argentina

Postby sjingo » Sat Nov 11, 2006 8:19 pm

El siguiente link puede serte de gran ayuda

http://www.aspfacil.com/articulos/040401.asp


Un saludo

Marcelo Jingo
User avatar
sjingo
 
Posts: 229
Joined: Sat Mar 18, 2006 3:42 pm
Location: Ibarra-Ecuador

Postby Rochinha » Wed Nov 15, 2006 11:11 pm

Amiguinho

Ustedes podes visualizar en:

SunChilliSoft.ASP

És mui simples usar ADO con Fivewin.
Rochinha
 
Posts: 309
Joined: Sun Jan 08, 2006 10:09 pm
Location: Brasil - Sao Paulo


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Willi Quintana and 36 guests