Página 1 de 2 1 2 ÚltimoÚltimo
Resultados 1 al 10 de 11

Tema: Ejemplo PWC y SQL Embebido

  1. #1
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    799
    Última visita
    Hoy a las 12:07

    Agradecimientos
     
    Recibidos
    440
    Enviados
    364

    Citaciones y menciones
     
    Mentioned
    79 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Base de datos Ejemplo PWC y SQL Embebido

    Aquí tenéis un pequeño ejemplo de como utilizar PWC y MySQL

    Entorno: PWC9,(aunque lo más seguro es que en PWC7 funcione)
    Tipo: Ejecutable
    Contenido: Ejecutable, Proyecto, Iconos y BMP
    Otros: Se incluye archivo COBOL85.cbr y BD.inf

    Consideraciones:
    • Antes de ejecutar, hay que modificar los archivos COBOL85.cbr y BD.inf, para que se ajuste a los parámetros de cada uno.
    • Si alguien tiene una manera mejor de hacerlo, que la diga, que estoy abierto a toda sugerencia.


    No estoy muy ducho aún en SQL embebido, pero ... poco a poco

    Un saludo.-
    Imagem Anexada Imagem Anexada
    Ficheros adjuntos Ficheros adjuntos

    0 Not allowed!

  2. #2
      Gran amigo y Guru de COBOL
    Avatar de Rapinto

    Registrado
    febrero de 2015
    Ubicación
    Porto
    Mensajes
    246
    Última visita
    29.01.2018

    Agradecimientos
     
    Recibidos
    227
    Enviados
    19

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0 Guru de los Gurus / Point Value: 0

    Predeterminado

    Josber,
    Tentei correr o teu programa de exemplo de SQL Embebido e dá erro.
    Onde está indicada a ligação à BDados???
    É por ODBC??

    Queria experimentar com SQL Server.

    Un Saludo,
    Rui

    0 Not allowed!

  3. #3
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    799
    Última visita
    Hoy a las 12:07

    Agradecimientos
     
    Recibidos
    440
    Enviados
    364

    Citaciones y menciones
     
    Mentioned
    79 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    Cita Iniciado por Rapinto Ver Mensaje
    É por ODBC??
    Si Rui, através de ODBC de SQL

    Un saludo.-

    0 Not allowed!

  4. #4
      Forero
    Avatar de Dasije

    Registrado
    noviembre de 2015
    Ubicación
    Jerez De La Frontera (cádiz)
    Mensajes
    182
    Última visita
    06.03.2022

    Agradecimientos
     
    Recibidos
    79
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    16

    Predeterminado

    Utilizar el control ADO, funciona como SQL integrado, y puedes mover valores como otro control de powercobol, y además puedes utilizar OLE-DB sin OBDC por medio mediante string de conexión.

    0 Not allowed!

  5. #5
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    799
    Última visita
    Hoy a las 12:07

    Agradecimientos
     
    Recibidos
    440
    Enviados
    364

    Citaciones y menciones
     
    Mentioned
    79 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    13 Post(s)
    Poder de Reputación
    37
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    Cita Iniciado por Dasije Ver Mensaje
    Utilizar el control ADO, funciona como SQL integrado, y puedes mover valores como otro control de powercobol, y además puedes utilizar OLE-DB sin OBDC por medio mediante string de conexión.
    No lo he usado nunca, ¿podrías poner un ejemplo?

    Un saludo.-

    0 Not allowed!

  6. #6
      Forero
    Avatar de Dasije

    Registrado
    noviembre de 2015
    Ubicación
    Jerez De La Frontera (cádiz)
    Mensajes
    182
    Última visita
    06.03.2022

    Agradecimientos
     
    Recibidos
    79
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    16

    Predeterminado

    Working:

    COBOL Código:
    1. 01 CONTROL-ADO-3A OBJECT REFERENCE POW-COBJECT.

    Procedure:

    COBOL Código:
    1. MOVE SPACES TO CONEXION-ADO
    2. STRING "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    3.            WST-ARCHIVO-MBD(1:WST-TAMANO-VARIABLE)
    4.            ";Mode=ReadWrite;Persist Security Info=False"
    5.            DELIMITED BY SIZE INTO CONEXION-ADO
    6. MOVE CONEXION-ADO TO "ConnectionString" OF ADO-HYDRA-CABECERA
    7. MOVE SPACES TO SQL-CONDICION
    8. STRING "SELECT * FROM cabecera"
    9.            " WHERE d_fecha BETWEEN FORMAT('" WST-FECAX-INICIO "', 'yyyy/mm/dd')"
    10.            " AND FORMAT('" WST-FECAX-FINAL "', 'yyyy/mm/dd')"
    11.            " ORDER BY d_fecha ASC"
    12.            DELIMITED BY SIZE INTO SQL-CONDICION
    13. MOVE SQL-CONDICION TO "CommandText" OF ADO-HYDRA-CABECERA
    14. INVOKE ADO-HYDRA-CABECERA "SETREF-Recordset" USING CONTROL-ADO-3A
    15. IF "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = ZEROS
    16.     MOVE "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-REGISTROS
    17.     INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveFirst"
    18.     PERFORM WITH NO LIMIT
    19.                  IF "EOF" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = POW-FALSE
    20.                      EXIT PERFORM
    21.                  END-IF
    22.                  MOVE "Value" OF "Item"(6) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-CAMPO-IMPORTES
    23.  
    24.                  ...........
    25.  
    26.                  MOVE WST-PRECIO-F TO "Value" OF "Item"(34) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA
    27.                  INVOKE "Recordset" OF ADO-HYDRA-CABECERA "Update"
    28.                  INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveNext"
    29.     END-PERFORM.

    El número de item partenece al número de columna que corresponde en el orden de la consulta empezando desde el 0 que sería la primera.

    En SQL Server, se puede poner el nombre del campo entre comillas, así dejas de usar el número de item.

    http://www.connectionstrings.com

    Aquí puedes mirar los strings de conexión disponibles de todos los motores de base de datos.

    Saludos.

    0 Not allowed!

  7. #7
      Senior
    Avatar de Joseg

    Registrado
    abril de 2015
    Mensajes
    331
    Última visita
    02.04.2024

    Agradecimientos
     
    Recibidos
    147
    Enviados
    92

    Citaciones y menciones
     
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    4 Post(s)
    Poder de Reputación
    21
    Activista del Foro / Point Value: 0 Innovación / Point Value: 0

    Predeterminado

    Cita Iniciado por Dasije Ver Mensaje
    Working:

    COBOL Código:
    1. 01 CONTROL-ADO-3A OBJECT REFERENCE POW-COBJECT.

    Procedure:

    COBOL Código:
    1. MOVE SPACES TO CONEXION-ADO
    2. STRING "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    3.            WST-ARCHIVO-MBD(1:WST-TAMANO-VARIABLE)
    4.            ";Mode=ReadWrite;Persist Security Info=False"
    5.            DELIMITED BY SIZE INTO CONEXION-ADO
    6. MOVE CONEXION-ADO TO "ConnectionString" OF ADO-HYDRA-CABECERA
    7. MOVE SPACES TO SQL-CONDICION
    8. STRING "SELECT * FROM cabecera"
    9.            " WHERE d_fecha BETWEEN FORMAT('" WST-FECAX-INICIO "', 'yyyy/mm/dd')"
    10.            " AND FORMAT('" WST-FECAX-FINAL "', 'yyyy/mm/dd')"
    11.            " ORDER BY d_fecha ASC"
    12.            DELIMITED BY SIZE INTO SQL-CONDICION
    13. MOVE SQL-CONDICION TO "CommandText" OF ADO-HYDRA-CABECERA
    14. INVOKE ADO-HYDRA-CABECERA "SETREF-Recordset" USING CONTROL-ADO-3A
    15. IF "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = ZEROS
    16.     MOVE "RecordCount" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-REGISTROS
    17.     INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveFirst"
    18.     PERFORM WITH NO LIMIT
    19.                  IF "EOF" OF "Recordset" OF ADO-HYDRA-CABECERA NOT = POW-FALSE
    20.                      EXIT PERFORM
    21.                  END-IF
    22.                  MOVE "Value" OF "Item"(6) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA TO WST-CAMPO-IMPORTES
    23.  
    24.                  ...........
    25.  
    26.                  MOVE WST-PRECIO-F TO "Value" OF "Item"(34) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA
    27.                  INVOKE "Recordset" OF ADO-HYDRA-CABECERA "Update"
    28.                  INVOKE "Recordset" OF ADO-HYDRA-CABECERA "MoveNext"
    29.     END-PERFORM.

    El número de item partenece al número de columna que corresponde en el orden de la consulta empezando desde el 0 que sería la primera.

    En SQL Server, se puede poner el nombre del campo entre comillas, así dejas de usar el número de item.

    http://www.connectionstrings.com

    Aquí puedes mirar los strings de conexión disponibles de todos los motores de base de datos.

    Saludos.

    Quando tento fazer MOVE XXXX TO "Value" OF "Item"(x) OF "Fields" OF "Recordset" OF ADO-HYDRA-CABECERA (claro, com dados meus)

    Da erro

    Pode, por favor, disponibilizar um exemplo com update e insert numa BD usando ADO?
    Estou a necessitar muito usar esta forma de actualizar (query) uma BD.

    Consigo Ler, mas estou com dificuldade em atualizar ou criar novos registos.

    Gracias,
    Jose

    0 Not allowed!

  8. #8
      Forero
    Avatar de Dasije

    Registrado
    noviembre de 2015
    Ubicación
    Jerez De La Frontera (cádiz)
    Mensajes
    182
    Última visita
    06.03.2022

    Agradecimientos
     
    Recibidos
    79
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    16

    Predeterminado

    Hola buenas.

    En ADO, solo puedes hacer consultas, y después leer, añadir nuevo registro, actualizar y eliminar.

    Si has conseguido leer, no debe ser un problema grabar, asegúrate de no tener en propiedades de modos de acceso en la opción que no te permita grabar.

    Solo debes comprobar, leer el registro, mover valores, y actualizar:

    Añadir un nuevo registro:

    COBOL Código:
    1. INVOKE "Recordset" OF ADO-HYDRA-CABECERA "AddNew"

    Nota: Debes hacerlo antes de mover los valores

    Actualizar datos:

    COBOL Código:
    1. INVOKE "Recordset" OF ADO-HYDRA-CABECERA "Update"

    Nota: Sí es un nuevo registro, debes ejecutar antes de mover valores el método Addnew.

    Saludos.

    0 Not allowed!
    Empresa de desarrollo de aplicaciones en COBOL.

    DASIJE INFORMATICA, S.L.
    C/ TOMAS BRETON 20
    11406 JEREZ DE LA FRONTERA
    CADIZ

    Teléfono : 956 11 21 11
    Web: http://www.dasije.es / DASIJE INFORMATICA
    E-m@il: clientes(@)dasije.es

  9. #9
      Senior
    Avatar de Joseg

    Registrado
    abril de 2015
    Mensajes
    331
    Última visita
    02.04.2024

    Agradecimientos
     
    Recibidos
    147
    Enviados
    92

    Citaciones y menciones
     
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    4 Post(s)
    Poder de Reputación
    21
    Activista del Foro / Point Value: 0 Innovación / Point Value: 0

    Predeterminado

    Gracias
    Tenha nas propriedades do objecto para leitura/escrita.

    Ja esta funcionando, dá erro apenas quando tento alterar um registo com "key with duplicates" ...ainda não sei qual o motivo.


    Eu uso: move MyQuery to "Filter" OF "Recordset" of CmADODataSource1 .
    para filtrar um registo, mas a Microsoft recomenda que se use o comando "Find" que é mais rápido (tabelas grandes), mas não estou conseguindo.

    Como fazia query dos registos ? Usando "Select..." ou métodos do object CmADODataSource1 ?

    Muitas gracias



    Cita Iniciado por Dasije Ver Mensaje
    Hola buenas.

    En ADO, solo puedes hacer consultas, y después leer, añadir nuevo registro, actualizar y eliminar.

    Si has conseguido leer, no debe ser un problema grabar, asegúrate de no tener en propiedades de modos de acceso en la opción que no te permita grabar.

    Solo debes comprobar, leer el registro, mover valores, y actualizar:

    Añadir un nuevo registro:

    COBOL Código:
    1. INVOKE "Recordset" OF ADO-HYDRA-CABECERA "AddNew"

    Nota: Debes hacerlo antes de mover los valores

    Actualizar datos:

    COBOL Código:
    1. INVOKE "Recordset" OF ADO-HYDRA-CABECERA "Update"

    Nota: Sí es un nuevo registro, debes ejecutar antes de mover valores el método Addnew.

    Saludos.

    0 Not allowed!

  10. #10
      Forero
    Avatar de Dasije

    Registrado
    noviembre de 2015
    Ubicación
    Jerez De La Frontera (cádiz)
    Mensajes
    182
    Última visita
    06.03.2022

    Agradecimientos
     
    Recibidos
    79
    Enviados
    1

    Citaciones y menciones
     
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    16

    Predeterminado

    La clasula SELECT se puede utilizar la instrucción completa como su motor de base de datos indique utilizar, no es estándar, se puede filtrar de muchas maneras, por ejemplo, añadiendo clasula NOT IN ('valor'), NOT LIKE '%pepe', etc ... incluso hacer uniones entre dos o más tablas y seleccionar valores en una de ellas, hay muchos ejemplos.

    Saludos.

    0 Not allowed!
    Empresa de desarrollo de aplicaciones en COBOL.

    DASIJE INFORMATICA, S.L.
    C/ TOMAS BRETON 20
    11406 JEREZ DE LA FRONTERA
    CADIZ

    Teléfono : 956 11 21 11
    Web: http://www.dasije.es / DASIJE INFORMATICA
    E-m@il: clientes(@)dasije.es

Página 1 de 2 1 2 ÚltimoÚltimo

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Sintaxis] SQL embebido - cursor con COUNT() en PowerCOBOL 7
    Por drvedia1981 en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 13
    Último Mensaje: 07.06.2023, 11:28
  2. [Aporte] Ocx, Dll y ejemplo envío Mail desde PWC
    Por Josber en el foro Cocina PowerCOBOL
    Respuestas: 23
    Último Mensaje: 27.09.2022, 15:53
  3. [Sintaxis] Sql Embebido
    Por Hrmcobol en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 23
    Último Mensaje: 28.06.2017, 01:09
  4. [Sintaxis] Variables en programa con SQL embebido
    Por DYANY en el foro IBM Enterprise COBOL
    Respuestas: 1
    Último Mensaje: 20.12.2016, 16:26
  5. [Noticia] Dos Monitores en Win7 y PWC
    Por Hrmcobol en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 2
    Último Mensaje: 17.02.2016, 22:37

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •