Amigos:
Tengo el siguiente problema, requiero actualizar un campo de recordset, el cual se construyo en base a un query, luego de actualizar me arroja error
cSql:="SELECT D.*,DP.NOMBRE AS DPTO, PR.NOMBRE AS PROV,DI.NOMBRE AS DIST "+;
"FROM DIRECCION D "+;
" LEFT JOIN DEPARTAMENTO DP ON D.CODDEP=DP.CODDEP "+;
" LEFT JOIN PROVINCIA PR ON D.CODPRO=PR.CODPRO AND D.CODDEP=PR.CODDEP "+;
" LEFT JOIN DISTRITO DI ON D.CODDIS=DI.CODDIS AND D.CODPRO=DI.CODPRO AND D.CODDEP=DI.CODDEP "+;
"WHERE CODSOC = '"+ oRs:Fields("CODSOC"):Value +"' "+;
"ORDER BY ACTIVO"
oRsDir := TOleAuto():New( "ADODB.RecordSet" )
WITH OBJECT oRsDir
:ActiveConnection := oApp:oCon
:Source := cSql
:CursorLocation := adUseClient
:LockType := adLockOptimistic
:CursorType := adOpenDynamic
TRY
:Open()
CATCH
FW_ShowAdoError( oApp:oCon )
END
END
oRsDir:Properties("Unique Table"):Value := "DIRECCION"
&& AQUI ACTUALIZO
-------------------------
oRsDir:Fields("ACTIVO"):Value:='0' && el campo activo es de la tabla direccion
oRsDir:Update()
ADO: ACTUALIZAR CAMPO DE SELECT DE 02 TABLAS MSSQL
-
- Posts: 4
- Joined: Tue Mar 17, 2020 5:18 pm
Re: ADO: ACTUALIZAR CAMPO DE SELECT DE 02 TABLAS MSSQL
Hola:
No has indicado el error.
Asimismo, esta línea debería usar la función FW_ValToSQL():
"WHERE CODSOC = '"+ oRs:Fields("CODSOC"):Value +"' "+;
que debería ser:
No has indicado el error.
Asimismo, esta línea debería usar la función FW_ValToSQL():
"WHERE CODSOC = '"+ oRs:Fields("CODSOC"):Value +"' "+;
que debería ser:
Code: Select all
"WHERE CODSOC = " + FW_ValToSQL(oRs:Fields("CODSOC"):Value) +;
Saludos / Regards,
FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
-
- Posts: 4
- Joined: Tue Mar 17, 2020 5:18 pm
Re: ADO: ACTUALIZAR CAMPO DE SELECT DE 02 TABLAS MSSQL
Moises:
El error que se presenta es el siguiente:
NO IMPLEMENTADO
Source: Provider
NativeError: -2147467263
Error Source: Provider
Sql State:
El problema radica en que la construccion del query, es por la union de 03 tablas, para luego solo requerir actualizar un campo de una tabla, por ello aplico lo siguiente:
oRsDir:Properties("Unique Table"):Value := "DIRECCION"
En las recordset donde uso 01 tabla, aplico el mismo codigo y la actualización se realiza sin problemas.
Gracias Moises y a todos.
Saludos
El error que se presenta es el siguiente:
NO IMPLEMENTADO
Source: Provider
NativeError: -2147467263
Error Source: Provider
Sql State:
El problema radica en que la construccion del query, es por la union de 03 tablas, para luego solo requerir actualizar un campo de una tabla, por ello aplico lo siguiente:
oRsDir:Properties("Unique Table"):Value := "DIRECCION"
En las recordset donde uso 01 tabla, aplico el mismo codigo y la actualización se realiza sin problemas.
Gracias Moises y a todos.
Saludos
Re: ADO: ACTUALIZAR CAMPO DE SELECT DE 02 TABLAS MSSQL
Ángel Miguel:
Te voy a contar mi experiencia con SELECT que usan LEFT JOIN, ya sea de dos o mas tablas,
mi problema es que cuando elimino el registro de una de las dos tablas con oRs:Delete se
eliminan los registros de ambas tablas, por favor prueba y ya nos contaras.
Tal ves por ahí va tu problema, mi solución?, no usar oRs:Update u oRs:Delete, utiliza
el comando UPDATE o DELETE según sea el caso.
Saludos
Te voy a contar mi experiencia con SELECT que usan LEFT JOIN, ya sea de dos o mas tablas,
mi problema es que cuando elimino el registro de una de las dos tablas con oRs:Delete se
eliminan los registros de ambas tablas, por favor prueba y ya nos contaras.
Tal ves por ahí va tu problema, mi solución?, no usar oRs:Update u oRs:Delete, utiliza
el comando UPDATE o DELETE según sea el caso.
Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Re: ADO: ACTUALIZAR CAMPO DE SELECT DE 02 TABLAS MSSQL
Hola, mi experiencia con MySQL es que en un Select combinado con Join no se puede actualizar un campo, no lo permite el conector ODBC.
Mi solución es abrir la tabla sin el Join y posicionarme en el mismo ID, actualizar y cerrar el objeto ADO, por último un reQuery del select original.
Un saludo.
Mi solución es abrir la tabla sin el Join y posicionarme en el mismo ID, actualizar y cerrar el objeto ADO, por último un reQuery del select original.
Un saludo.
-
- Posts: 4
- Joined: Tue Mar 17, 2020 5:18 pm
Re: ADO: ACTUALIZAR CAMPO DE SELECT DE 02 TABLAS MSSQL
Amando y Gmart1:
Aplique el UPDATE respetivo, seguido del requery respectivo al recordset, con ello di solución a mi problema. Muchas Gracias por su tiempo y apoyo.
Nages:
Será factible tu comentario sobre la limitaciòn que presenta ado para _. Gracias de antemano.
Aplique el UPDATE respetivo, seguido del requery respectivo al recordset, con ello di solución a mi problema. Muchas Gracias por su tiempo y apoyo.
Nages:
Será factible tu comentario sobre la limitaciòn que presenta ado para _. Gracias de antemano.