Vfp+sql+sqlconection

Si de nuevo yo,
Bien, tengo problemas a la hora de hacer un insert o update en una instrucción sql elaborada con la funci0n sqlconection del vfp
Por ejemplo
n_CONECCION=SQLCONECTION(CONTROLDORSQL,'USER','CLAVE')
BIEN HASTA ALLI NO HAY PROBLEMAS ME DEJA CONECTAR.
SQLEXEC(n_CONECCION,'SELECT * FROM CLIENTES','MICURSOR')
BIEN HASTA ALLI NO HAY PROBLEMAS ME DEJA HACER SELECT Y CREAR EL CURSOR.
SQLEXEC(n_CONECCION,'UPDATE CLIENTES SET NOMCLI='JUAN PEREZ' WHERE CODCLI='0001'','MICURSOR')
BIEN AQUI ES EL PROBLEMA NO ME ACTUALIZA NI CON EL UPDATE O EL INSERT
Bien si me equivoque en la sintaxis ese no es el problema puesto que esto es un ejemplo.
Para este caso se que puedo utilizar store procedures pero el trabajo que tengo que presentar esta basada en esta función.
Muchas gracias por la atención prestada.
Perú lima - lima
Carlos
[email protected]

3 Respuestas

Respuesta
1
Si mira, para hacer un update o insert con campos que llevan comillas se necesati hacer una cadena antes de ejecutarlo .. ejemplo ..
Wcadena='UPDATE CLIENTES SET NOMCLI='+chr(39)+'JUAN PEREZ'+chr(39)+' WHERE CODCLI='+chr(39)+'0001'+chr(39)
luego
SQLEXEC(n_CONECCION,&wcadena,'MICURSOR')
Respuesta
1
En la sentencia no tienes error sabes tal vez el problema sea con los permisos de la tabla tal vez el usuario que estas usando no tiene permiso para modificar te aconsejaría que revises los permisos de tu usuario a las tablas o intentes con otro usuario de la base de datos esa sentenciaesa sentencias y cuando realizas una inserción o eliminación no es necesario que le pongas el cursor.
Mira esas cosas y cualquier cosa me lo comunicas.
Respuesta
1
Ejemplo de Insert
xconn = SQLEXEC(gnConnHandle, 'SELECT * FROM estados where estados.estado='+'?xestado', 'MiCursor')
Se le micursor
Go top
do while !eof()
INSERT INTO Estado (nro_soli, cod_area, estado, id_usr, observa_w, fecha_alta) VALUES (micursor.nro_soli, micursor.cod_area, 'S', micursor.id_usr, micursor.observaciones_w, micursor.fecha_alta)
Se le micursor
Skip
Enddo
Ejemplo de Update
xvar1='Leido Sin Autorizacion'
xconn=SQLEXEC( gnConnHandle,'UPDATE Estados SET Estados.estado = '+'?Xvar1'+' WHERE Estados.estado ='+'?Xestado' )
Mariano Castañeda
Analista de Sistemas
Digital Bridge ® - www.DigitalBridge.com.ar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas