Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-02-2017
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 22
gorsan Va por buen camino
Hola de nuevo. Gracias por la respuesta.
Respecto a lo que me dices que haga. Primero he quitado las dos estructuras with y sigue dando el mismo error en la ejecución del commit. Luego he quitado todo y he dejado solo las sentencias relativas a la creación de la tabla y sigue dando el mismo error:

Código Delphi [-]
procedure TDMVentanilla.CreateTable(const TableName1: string);
begin
          IBQuery2.Close;
          IBQuery2.DataBase:=DMPrincipal.IBDB;
          IBQuery2.Transaction:=DMVentanilla.IBTLocal_Ventanilla;
          IBQuery2.SQL.Clear;
          IBQuery2.SQL.Add('CREATE TABLE '+'"'+TableName1+'"' +'(');
          IBQuery2.SQL.Add('VNIS VARCHAR(10) NOT NULL,');
          IBQuery2.SQL.Add('VNUM VARCHAR(20) NOT NULL,');{identificador del visitante que podrá ser DNI, NIE, PASAPORTE, etc}
          IBQuery2.SQL.Add('APELLIDO1 VARCHAR(50) NOT NULL,');
          IBQuery2.SQL.Add('APELLIDO2 VARCHAR(50),');
          IBQuery2.SQL.Add('VNOMBRE VARCHAR(30) NOT NULL,');
          IBQuery2.SQL.Add('VINCULACION VARCHAR(50) NOT NULL,');
          IBQuery2.SQL.Add('OBSERVACIONES BLOB SUB_TYPE TEXT SEGMENT SIZE 80,');
          IBQuery2.SQL.Add('PRIMARY KEY(VNIS),');
          IBQuery2.SQL.Add('CONSTRAINT '+'"'+'FK_'+TableName1+'"'+' FOREIGN KEY (VNIS) REFERENCES INTERNOS (NIS) ON DELETE CASCADE');
          IBQuery2.SQL.Add(')');
          IBQuery2.ExecSQL;
          DMVentanilla.IBTLocal_Ventanilla.Commit;
          DMVentanilla.IBTLocal_Ventanilla.StartTransaction;
end;

Tendrá que haber alguna manera de crear una tabla en tiempo de ejecución con clave foranea pero no se como.

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 16-02-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.105
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Has probado a ejecutar la sentencia manualmente?
Cita:
CREATE TABLE xxxxxx
(
VNIS VARCHAR(10) NOT NULL,
VNUM VARCHAR(20) NOT NULL,
APELLIDO1 VARCHAR(50) NOT NULL,
etc...
Responder Con Cita
  #3  
Antiguo 16-02-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Como te comenta casimiro, revisa tus querys ejecutandolos en algun manager (flamerobin, dbeaver, EMS SQL, etc), y si tus sentencias son fijas puedes pasarlas a un stored para solo madarle los parametros desde Delphi.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #4  
Antiguo 16-02-2017
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Prueba a crear primero la tabla y luego estableces la foreign key con un alter table. Ademas, no basta que el componente IBDATASET asociado a la tabla EMPLEADOS este inactivo, es necesario además que la tabla EMPLEADOS no esté en medio de una transacción, esto es, después del "volcado" de los datos a la tabla EMPLEADOS hay que finalizar la transacción, en este caso con un commit.
Responder Con Cita
  #5  
Antiguo 16-02-2017
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Adicional a lo que te comentan te recomendaria usar el componente IBScript para la creacion de la tabla y la llave en lugar de un query.

Saludos.
__________________
¡Ni como ayudarte Niño!!
bitbow
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
Ejecutable xxxxxx dejo de funcionar en W10 PRO tarco35 API de Windows 13 25-11-2016 20:28:44
Sobre error "Object reference not set to an instance of an object" fer21unmsm .NET 2 11-05-2007 21:56:46
Error en Consulta: 'could not find object' rocio84 SQL 4 18-04-2006 01:56:58
error EMS firebird interbase "Unsuccessful execution caused by unavailable resource" JuanErasmo Conexión con bases de datos 3 10-02-2006 22:09:53
Error: object not found shaktale SQL 0 03-07-2003 16:40:37


La franja horaria es GMT +2. Ahora son las 15:39:07.


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