Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-06-2006
joal joal is offline
Miembro
 
Registrado: jun 2006
Posts: 10
Poder: 0
joal Va por buen camino
Parece asunto de los insert

Continuando con mi aventura... separe el SQL en tres. Borrado de tablas, creacion de tablas e insert de datos, a seleccionar segun lo que tuviera en un combobox. En el memo mem_Queries guardo los queries a realizar. Con las primeras dos (drops y creates) no hubo problema, el asunto ha sido con los insert.

Código:
procedure Tfrm_inicializador.bbtn_EjecutarClick(Sender: TObject);
var
  i: integer;
  str_query: string;
begin
  // Corro 1x1 para verificar si hay accion que tomar
  for i:= 0 to mem_Queries.Lines.Count - 1 do
    begin
    str_query:= Trim(mem_Queries.Lines.Strings[i]);
    ibt_IBTransaction.StartTransaction;
    if (Length(str_query) > 5) then
      begin
      ibq_IBQuery.SQL.Text:= str_query;
      ibq_IBQuery.ExecSQL;
      end;
    ibt_IBTransaction.Commit;
    end;
end;
1) Prob 1. Si declaré un campo de las tablas como NOT NULL PRIMARY KEY, al querer realizar el insert me marca que intento duplicar una llave (esta vacia la tabla).

2) Prob 2. Si no declaro llave alguna y cree ese campo ID como un campo normal, al querer hacer el insert obtengo SQL Parse error: EOF in string detected.

Lo curioso es que si ejecuto las mismas instrucciones mediante la herramienta isql de firebird, no obtengo error, por ende, no lo considero error de sintaxis.

ideas?
Responder Con Cita
  #2  
Antiguo 29-06-2006
joal joal is offline
Miembro
 
Registrado: jun 2006
Posts: 10
Poder: 0
joal Va por buen camino
Talking Sumario: Problema identificado

Pues resulta que aún cuando ejecutaba línea por línea los INSERT (eran aprox 160-180), en uno de los INSERT (como el 35-40) había una comilla adicional, por lo que no lo procesaba correctamente.

Lo que me confundía es que el error lo marcaba en el primer INSERT, aún cuando lo corria paso a paso y me indicaba que estaba corriendo el primer INSERT (según eso aún no llegaba a la línea del error).

No se si realiza internamente un preload de todo y luego ejecuta, o a que se deba eso, pero... por si es de su interés, les dejo por si alguien tiene el mismo problema.

Gracias por su ayuda,
Responder Con Cita
Respuesta



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
como puedo hacer correr mi apliccion en Intraweb ?? supermanpy Varios 0 05-06-2006 23:17:08
Como correr un archivo externo? fayala Firebird e Interbase 3 07-04-2005 03:56:00
No consigo hacer un INSERT akela Conexión con bases de datos 3 22-11-2004 00:46:42
Como correr multiples sentencias SQL en un Tquery al hacer un .ExecSQL/.open orfeo Conexión con bases de datos 6 27-03-2004 19:55:25
Quiero Saber como hacer que un boton se vea que esta siendo pulsado Julio César Varios 2 27-11-2003 18:34:11


La franja horaria es GMT +2. Ahora son las 07:33:10.


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