Error al insertar datos en firebird

Estoy intentando pasar unos datos de una tabla dbf a la tabla de firebird y no pasan estoy usando este código a ver que estoy haciendo mal este es el código

USE c:\EJEMPLO\menu_principal.dbf EXCLUSIVE
SELECT MENU_PRINCIPAL

T1 = menu_principal.CODIGO
T2 = menu_principal.TIPO
T3 = menu_principal.DES
T4 = menu_principal.VALOR
T5 = menu_principal.CODEMP
SQLEXEC(PHandle_Ident, "INSERT INTO MENU(CÓDIGO, TIPO, DES, VALOR, CODEMP) VALUES(?T1, ?T2, ?T3, ?T4, ?T5)")
SQLCOMMIT(PHandle_Ident)
SQLEXEC(PHandle_Ident, "SELECT * FROM MENU ", "CONSULTA")
SELECT CONSULTA
BROWSE

********************

Luego hice una consulta pero sale vacía sin datos

Respuesta
1

Hola Placido Castano Martinez! Un placer! ANTES QUE nada... verifica el identificador de conexión PHandle_Ident esta activo y que regresa un numero positivo... el error podría ser porque la conexión no este activa.

En la venta de comandos escribí MESSAGEBOX(PHandle_Ident) y si te regresa 1 o más esta bien la conexión. Si no.. no! Proba primero eso y si el error persistea avisame no más par ver... ! Puede ser un problema de datatype osea tipos de datos transferidos en el string... ! Pero descartemos el problema posible de conexión primero.

Espero... tus comentarios.

Hola amigo la conexión es 1 osea esta bien revise todos los campos y están bien pero sigue el problema

Seguro es un problema de tipo de datos... que tipos de datos son los campos:

T1 = menu_principal.CODIGO
T2 = menu_principal.TIPO
T3 = menu_principal.DES
T4 = menu_principal.VALOR
T5 = menu_principal.CODEMP

¿

¿

? Son iguales, según su correspondiente, ¿al tipo de datos de la tabla en firebird? Dime los tipos de datos para ver como corregir!

codigo = numerico(3)

tipo = caracter(10)

des = caracter(35)

valor = numerico(1)

codemp = numerico(3)

Fíjate que en el campo CÓDIGO en la línea del insert lo tienes con acento o tilde. Si tiene acento en la sentencia no tendrá efecto dado que en firebird eso no existe. Asegurate de quitarlo.. no vaya a ser ese sea el error.

Luego volvé a probar. Si persiste.. proba cambiar la declaración de los datos así y el resto todo igual.

local T1, T2, T3, T4, T5

T1 = ALLTRIM(STR(menu_principal.CODIGO))
T2 = menu_principal.TIPO
T3 = menu_principal.DES
T4 = ALLTRIM(STR(menu_principal.VALOR))
T5 = ALLTRIM(STR(menu_principal.CODEMP))

SQLEXEC(PHandle_Ident, "INSERT INTO MENU(CÓDIGO, TIPO, DES, VALOR, CODEMP) VALUES(?T1, ?T2, ?T3, ?T4, ?T5)")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas