Hola
@Joseg
Estoy haciendo una pruebas con la libreria
extmysql.lib para
conectarme a una
bd Mysql MariaDB remoto
Tengo dudas con el retorno de la funcion
"MYSQLCOMANDO"
Estado = "23" siginifica correcto ?
Estado = "10" error ?
Estado = "00" ok ?
o cuales serian los estados
gracias por tu respuesta
Código COBOL:
77 W-ARQUIVOS PIC X(250).
77 W-STATUS PIC X(02).
77 W-QRTM PIC 9(09) COMP-5.
77 W-CMD PIC X(8192).
01 W-CONEXAO USAGE POINTER.
01 W-CURSOR USAGE POINTER.
01 ESTADO PIC X(02).
88 STAT-ERRO VALUE X"3100" THRU X"3943"
X"3945" THRU X"39EE".
88 DUPLICADO VALUE "22".
88 CRIAR-ARQUIVO VALUE X"3335" X"3913".
88 JA-ABERTO VALUE "41" X"398D".
88 REINDEXAR VALUE X"3929" X"3912".
88 ESTA-ABERTO VALUE "12".
88 FOI-CRIADO VALUE "05".
88 NAO-ENCONTRADO VALUE "23".
88 FINAL-ARQUIVO VALUE "10".
88 CHAVE-DUPLICADA VALUE "02".
01 RESTADO REDEFINES ESTADO.
02 ST-K01 PIC X(01).
02 ST-K02 PIC X(01).
02 RST-K02 REDEFINES ST-K02.
03 ST-ERR PIC 9(01) COMP-3.
*> Select
Código COBOL:
*-------------------
* MYSQLCONECTA
CALL "MYSQLCONECTA" USING W-ARQUIVOS *> Variavel com os parametros para estabelecer a conexão
W-CONEXAO *> Retorna handle para encontrar a FCD-AREA da conexão
ESTADO. *> Status de retorno
DISPLAY "ESTADO conecta: " , ESTADO.
*------------
* Select
MOVE 1 TO W-QRTM.
MOVE SPACES TO W-CMD.
STRING 'select Id_empresa, Nombre_empresa, Password_empresa from empresas'
';'
delimited by size
INTO W-CMD WITH POINTER W-QRTM
END-STRING.
display " W-QRTM : " , W-QRTM.
*------------
*MYSQLCOMANDO
CALL "MYSQLCOMANDO" USING W-CONEXAO *> Handle para recuperar FCD-AREA ------W-MysqlComando
W-CMD *> Comando a ser executado
W-CURSOR *> Handle do retorno do comando
W-QRTM *> Tamanho do comando a ser executado
ESTADO. *> Status de retorno
DISPLAY "ESTADO MYSQLCOMANDO: " , ESTADO.
stop " ".
*------------
IF W-CURSOR NOT = NULL
PERFORM UNTIL ESTADO NOT = "00"
*> ------------------------
*> MYSQLRETORNA
MOVE ZEROS TO W-QRTM
CALL "MYSQLRETORNA" USING W-CONEXAO *> Handle para recuperar FCD-AREA
W-CURSOR *> Endereço estrutura do retorno (cursor)
W-QRTM *> Tamanho do buffer sendo retornado
ESTADO *> Status de retorno
W-CMD *> Buffer contendo o resultado sendo retornado. Ter cuidado no programa
IF ESTADO = "00"
* MOVE W-CMD TO *> aca estan lo datos
display W-CMD(1:W-QRTM)
END-IF
END-PERFORM
END-IF.
*------------
*MYSQLLIBERACURSOR
CALL "MYSQLLIBERACURSOR" USING W-CONEXAO
W-CURSOR. *> Handle para encontrar a FCD-AREA desta conexão
*------------
*MYSQLDESCONECTA
CALL "MYSQLDESCONECTA" USING W-CONEXAO *> Handle para encontrar a FCD-AREA desta conexão
W-CURSOR *> Handle das definições para o cursor, pode não
*> vir informado.
ESTADO.
*--------------------------------------------
EXIT PROGRAM.
*>Update
Código COBOL:
*----------------------
* MYSQLCONECTA
CALL "MYSQLCONECTA" USING W-ARQUIVOS *> Variavel com os parametros para estabelecer a conexão
W-CONEXAO *> Retorna handle para encontrar a FCD-AREA da conexão
ESTADO. *> Status de retorno
DISPLAY "ESTADO conecta: " , ESTADO.
*------------
*> Select
MOVE 1 TO W-QRTM.
MOVE SPACES TO W-CMD.
MOVE "EMPRESADA MODELO 8 update" TO Q-Nombre.
MOVE "Dirección con letra ñÑ" TO Q-Dire.
STRING
"UPDATE empresas SET "
"Nombre_empresa = "
"'"
Q-Nombre
"'"
","
"Direccion_empresa = "
"'"
Q-Dire
"'"
" where id_empresa = 31"
';' delimited by size
INTO W-CMD WITH POINTER W-QRTM
END-STRING.
display " W-QRTM : " , W-QRTM.
DISPLAY "W-CMD conecta: " , W-CMD(1:W-QRTM).
stop " "
*------------
*MYSQLCOMANDO
CALL "MYSQLCOMANDO" USING W-CONEXAO *> Handle para recuperar FCD-AREA ------W-MysqlComando
W-CMD *> Comando a ser executado
W-CURSOR *> Handle do retorno do comando
W-QRTM *> Tamanho do comando a ser executado
ESTADO. *> Status de retorno
DISPLAY "ESTADO MYSQLCOMANDO: " , ESTADO.
DISPLAY "comando W-CURSOR: " , W-CURSOR.
DISPLAY "ST-ERR : " , ST-ERR.
stop " ".
*------------
*MYSQLLIBERACURSOR
CALL "MYSQLLIBERACURSOR" USING W-CONEXAO
W-CURSOR. *> Handle para encontrar a FCD-AREA desta conexão
*------------
*MYSQLDESCONECTA
CALL "MYSQLDESCONECTA" USING W-CONEXAO *> Handle para encontrar a FCD-AREA desta conexão
W-CURSOR *> Handle das definições para o cursor, pode não
*> vir informado.
ESTADO.
*--------------------------------------------
Saludos ..