Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Te sugiero en estos casos hacer un log de cada sentencia SQL que se ejecuta.
Veo que ya presentas los diferentes datos que se insertarán, pero no sabes exactamente que es lo que se envia a Firebird.
En este caso, parece que en algún lugar en el que se espera un entero se le entrega un string vacío. Esto no sabe como convertirlo, dado que no es un número.
Dicho esto, no es necesario entrecomillar los valores numéricos.

Código PHP:
    $Comando      ="insert into cuentas (codigo,nombre,cedula,direccion,perifact,barrio) values ( " $cod_usu " , '" $nom_usu "' , " $ced_usu ." , '" $dir_usu ."' , '" $per_fac "' , '" $bar_usu "' );"
    
    
$db dbase_open('c:\windows\media\lec\factur2.dbf'0);  //PERMITE LA CONEXION CON LA TABLA DESEADA
    
if ($db
    {
      
$numero_registros dbase_numrecords($db);  //DETERMINA EL NUMERO DE REGISTROS DE LA TABLA
      
for ($i 1$i <= $numero_registros$i++) 
        {
...
        echo 
$cod_usu."\t";
        echo 
$nom_usu."\t";
        echo 
$ced_usu."\t";
****
        echo 
$Comando "<br />";
****
... 
Deberías obtener algo así:
Código SQL [-]
insert into cuentas (codigo,nombre,cedula,direccion,perifact,barrio) values (1 , 'PEPITO' , 123456 , 'calle 1, 23' , 'Perifact' , 'Barrio' );
Responder Con Cita
  #2  
Antiguo 06-05-2015
MALBOTO22 MALBOTO22 is offline
Miembro
 
Registrado: oct 2005
Posts: 21
Poder: 0
MALBOTO22 Va por buen camino
duilioisola, gracias por su colaboración

Le comento que ya elimine las comillas de los campos numericos y no ha sido posible que los datos se graben en la base de datos de Firebird.

Usted me sugiere hacer un LOG para las transacciones SQL, pero honestamente no se como se hace, me podria orientar o indicar donde encuentro la información al respecto, ya que hice varias consultas pero solo encontre una para el manejo de Procedures Stored y los triggers.

Mil gracias
Responder Con Cita
  #3  
Antiguo 06-05-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Con "Log" me refería solamente a agregar
Código PHP:
echo $Comando 
al procedimiento que hace las inserciones.

De esta manera podrás ver exactamente que es lo que se envía a Firebird.
Luego habrá que ver porqué la sentencia da error y corregir la formación de ese "$Comando".
Responder Con Cita
  #4  
Antiguo 06-05-2015
MALBOTO22 MALBOTO22 is offline
Miembro
 
Registrado: oct 2005
Posts: 21
Poder: 0
MALBOTO22 Va por buen camino
duilioisola,

le cuento que definitivamente usando la variable $Comando para pasar como parametro a query no me funciono por ningun lado, con el log me mostraba

Código:
>>>>> PROCESO DE BORRADO TERMINADO
>>>>> ESTAMOS REALIZANDO MIGRACION DE DBF A FIREBIRD
1
MARTIN ALONSO BOBADILLA TORRES 
93376454
CASA 14 ET8 B JUAN 
CENTRO 
ENERO 2015 
insert into cuentas (codigo,nombre,cedula,direccion,perifact,barrio) values ('','','','','','');
Warning: ibase_query() [function.ibase-query]: conversion error from string "" in C:\AppServ\www\sidutec

\impresion2.php on line 52
insert into cuentas (codigo,nombre,cedula,direccion,perifact,barrio) values ('','','','','','');
>>>>> PROCESO DE 

INSERCION EXITOSO <<<<<
la solución la encontre ubicando directamente sobre el ibase_query el comando de inserción

Código:
        $nResultado   = ibase_query($Transaccion, "insert into cuentas (codigo,nombre,cedula,direccion,perifact,barrio)" .
                                                   "values ($cod_usu,'$nom_usu',$ced_usu,'$dir_usu','$per_fac','$bar_usu');");
Nuevamente le agradezco por su colaboración y generosidad al dedicarme tiempo y orientarme
Responder Con Cita
  #5  
Antiguo 06-05-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Si te fijas en la sentencia SQL verás claramente el error:

Código SQL [-]
insert into cuentas (codigo,nombre,cedula,direccion,perifact,barrio) 
values ( '' /* codigo es un integer */,'','' /* cedula es un integer */,'','','');

Es lo que comentaba en uno de los mensajes anteriores.
Deberías quitar las comillas a los valores que sean enteros y en el caso de que alguno de los valores enteros sea nulo forzar un 0 o NULL.

Última edición por Casimiro Noteví fecha: 06-05-2015 a las 20:28:16.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dynamic Sql Error -901 trex2000 Conexión con bases de datos 2 16-09-2008 09:37:04
Dynamic sql error -303 amkalzada Conexión con bases de datos 2 27-06-2008 11:12:33
Dynamic Sql error -303 amkalzada Firebird e Interbase 1 16-06-2008 15:37:51
error (incorrect token followed by ":") en query voldemmor Conexión con bases de datos 4 16-04-2008 18:27:00
dynamic Sql Error digital Firebird e Interbase 1 03-03-2004 09:48:26


La franja horaria es GMT +2. Ahora son las 17:44:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi