![]() |
Error sintaxis ADODB Mariadb variables host
Estimados
Estoy trabajando con powercobol v9 tengo error de sintaxis al transferir desde un "select...into..." información a variables de trabajo. al ejecutar da error de sintaxis, este es el codigo Código COBOL:
si elimino la linea "INTO :WORDEN, :WCAMPO1, :WCAMP2, :WCAMPO3 " funciona ok. |
Pues aparte de que te sobra un asterisco en "invoke OBJ-RECORDSET "open" using ADO-OP"EN-STRING", lo veo bien, aunque, y no sé si será el caso, yo no monto la instrucción en ese orden, yo lo hago:
Código:
SELECT campos FROM tablaUn saludo y suerte |
variables
Josber
estarán mal definidas las variables? Código COBOL:
|
En la WORKING, has definido WCAMPO2, y en el STRING, estás usando WCAMP2, ¿es así o es un fallo al postearlo aquí en el foro?, por lo demás, están bien definidas en la WK, para definir las alfanuméricas, no tienen nada en especial y las numéricas, han de ser con signo siempre y lo has puesto correctamente.
Un saludo.- |
variables
1 Archivos Adjunto(s)
Gracias x la respuesta
creo que el problema está en la definición de las variables, modifique el select y sigue dando error en la variable de trabajo: adjunto imagen con el codigo error B]You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':WORDEN Limit 1' at line estoy empezando con sql y no por donde seguir buscando... saludos |
dmosca, Tienes mal montado el STRING, la sintáxis correcta sería:
Código COBOL:
y si ya quieres rizar el rizo y que sea más exacta la instrucción, puedes poner: Código COBOL:
Referenciar la variable con 2 puntos delante, (:WORDEN), sólo tienes que hacerlo cuando es una consulta directa y has de pasarle una variable al gestor de Sql, cuando lo haces con un STRING, no tienes que poner los dos puntos. A ver si tienes suerte, y si sigue dando problemas dilo a ver que por donde podemos atacar. Un saludo.- |
variables
Hola Josber
es una de los tantos intentos que he echo, pero sigo sin poder pasar la info al campo en la working... si la variable no está definida, el mensaje de error es que no esta la variable definida. cuando defino la variable en la working y hago referencia a ":variable" me da error de sintaxis :buzo: |
No he utilizado nunca ADODB, siempre Sql embebido, y ahí, cuando defines la variables en la WK, has de definirlas de esta manera:
Código COBOL:
No sé si con ADODB hay que declarar las variables así. Un saludo.- |
variables
Josber
hice esa prueba, pero sigue con el error gracias x tu tiempo |
Cita:
Un saludo.- |
1 Archivos Adjunto(s)
adjunto ppj, espero se haga la luz.... estoy por volver a los indexados cobol... ---------- Post añadido : 20:02 ---------- Post anterior : 19:53 ---------- Adjunto ppj... estoy atento a sus comentarios.... muchas gracias 3 intento de subir el ppj |
dmosca, cambia los campos numéricos por los binarios estándar. Es decir
Código COBOL:
Muéstranos el código DDL de la tabla (con qué tipos de campos se ha creado). |
1 Archivos Adjunto(s)
dmosca, cambiando los parámetros por los de la BD que tengo yo, a mi me funciona perfectamente tal y como lo tienes ahora, (con la linea del INTO :WORDEN .... comentada), en cuanto quito el comentario a la linea, ya no funciona de ninguna manera.
¿Qué es lo que quieres hacer exactamente?, ¿Una lectura recursiva de todos los registros que tengan un cierto valor o de sólo un registro?. Este es el pantallazo de que funciona sin quitar el comentario de la linea. |
También ahora que lo pienso, en ADO (que yo nunca lo he usado) ¿se puede meter INTO? Creo que no, hay otro comando para recoger los datos, algo tipo "GetRecordSet" o algo así ¿no? :piensa:
|
Cuando empecé a trastear con las BDs, para eliminar los ficheros indexados de COBOL, pero sólo los grandes, los pequeños los conservo, estuve mirando si hacerlo con SQL-Embebido o a través de ADO, al final me decanté por SQL_Embebido, porque aparte de que escribes menos y es más sencillo, después el programa es más claro de entender, ADO se aparta mucho de la "limpieza visual" que ha tenido COBOL de toda la vida.
Un saludo |
variables de trabajo ADODB
1 Archivos Adjunto(s)
Josber
quiero ver si existe un usuario y comparar si corresponde el password. como te comentaba si elimino la linea del "into" funciona ok. Ejemplo es una base simple para ver si lo puedo hacer funcionar... Estoy iniciando con sql, como leí en el foro que es mas rápido ADO que SQL embebido me decidí por ADO. Kuk: modifique los campos en la working, sigue el error adjunto definición de la tabla ejemplo: |
dmosca, como he dicho en mi post de antes, el INTO no puedes usarlo ahí. Fíjate en el ejemplo de Dasije:
[Aporte] Ejemplo PWC y SQL Embebido - COBOL Foro |
dmosca, Hay que tener en cuenta los tipos de datos:
Código SQL:
En el manual de COBOL, hay una sección sobre el tema de SQL, donde te indica que tipo de campos debes seguir, en el resto de motores no varia mucho. |
| La franja horaria es GMT +2. Ahora son las 19:59. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.