Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   sql code error (https://www.clubdelphi.com/foros/showthread.php?t=73328)

yevabas 14-04-2011 23:27:42

sql code error
 
Buenas tardes

En verdad no se que ocurre con una tabla, cuando en delphi a una IBtable le asigno la tabla turnos que se creo asi


Código SQL [-]
CREATE TABLE TURNOS (
    TUR_NUM  INTEGER NOT NULL,
    SURT     SMALLINT NOT NULL,
    DETAL    VARCHAR(15) NOT NULL,
    HINI     SMALLINT NOT NULL,
    HFIN     SMALLINT NOT NULL
);
 
 
/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/
ALTER TABLE TURNOS ADD CONSTRAINT PK_TURNOS PRIMARY KEY (SURT, HINI, HFIN);




me sale el siguiente error al intentar colocar la casilla active en true.


Cita:

Dynamic SQL error
SQL error code = -204
Table UnKnown
TURNOS
At line 1, column 53.


no se si el problemas es por las 3 llaves primarias o que sea, si toque hecer algo mas para que me la tome

gracias por su ayuda:confused:

jafera 15-04-2011 10:44:45

El error te lo da en la columna 53 que es el espacio entre PRIMARY y KEY

Prueba de ponerlo así:

Código SQL [-]
 
CREATE TABLE "TURNOS" (
    "TUR_NUM"  INTEGER NOT NULL,
    "SURT"     SMALLINT NOT NULL,
    "DETAL"    VARCHAR(15) NOT NULL,
    "HINI"     SMALLINT NOT NULL,
    "HFIN"     SMALLINT NOT NULL,
CONSTRAINT "PK_TURNOS" PRIMARY KEY ("SURT", "HINI", "HFIN")
);

Ya dirás

Saludos

Casimiro Notevi 15-04-2011 10:49:30

Yo no aconsejo para nada el escribir los nombres de campos, tablas, etc. entre comillas , luego tienes que estar escribiéndolas siempre igual, entre comillas, mayúsculas o minúsculas (depende cómo lo has escrito), etc. y es un engorro.

Pon aquí el código exacto de la tabla, haz un copia->pega, para que lo veamos.

yevabas 15-04-2011 15:45:04

En primer lugar muchas gracias por su tiempo a los dos.

Ese es el codigo que aparece cuando lo miro, le hice exactamente eso copiar y pegar.

Yo uso Ibexpert para crear las tablas, y lo que hice fue copiar lo q aparece en la pestaña DLL de la tabla , y es esto.

Código SQL [-]
/******************************************************************************/
/***               Generated by IBExpert 15/04/2011 08:46:04                ***/
/******************************************************************************/
/******************************************************************************/
/***      Following SET SQL DIALECT is just for the Database Comparer       ***/
/******************************************************************************/
SET SQL DIALECT 3;
 
/******************************************************************************/
/***                                 Tables                                 ***/
/******************************************************************************/
 
CREATE TABLE TURNOS (
    TUR_NUM  INTEGER NOT NULL,
    SURT     SMALLINT NOT NULL,
    DETAL    VARCHAR(15) NOT NULL,
    HINI     SMALLINT NOT NULL,
    HFIN     SMALLINT NOT NULL
);
 

/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/
ALTER TABLE TURNOS ADD CONSTRAINT PK_TURNOS PRIMARY KEY (SURT, HINI, HFIN);

/******************************************************************************/
/***                               Privileges                               ***/
/******************************************************************************/

/* Privileges of users */
GRANT ALL ON TURNOS TO USERDB WITH GRANT OPTION;

La tabla me toma los datos bien cuando los ingreso, pero el error me sale en delphi cuando coloco un IBtable y le asigno está tabla, con las otras no me pasa esto, y la unica diferencia es que tengo 3 campos con llave primaria , pero deberia funcionar creeria yo, lo otro es que dejo la tabla desactivada, y cuando creo el formulario donde la necesito la activo y no genera ningun error, pero el caso es que quiero dejarla activa desde que la asigno al ibtable,
pero no he podido, gracias por su ayuda y ojala me puedan seguir orientando a ver si encuentro mi error...

Casimiro Notevi 15-04-2011 16:05:36

¿No será que le tienes asignado al componente otra base de datos?

yevabas 15-04-2011 17:14:27

no porque es la unica base que tengo con una tabla llamada turno...

entonces no puede ser posible eso, y al darle ctrl + a puedo ver los campos que le tengo creados y los puedo seleccionar. pero no me deja activar el ibtable...

Casimiro Notevi 15-04-2011 17:15:27

Cita:

Empezado por yevabas (Mensaje 397236)
no porque es la unica base que tengo con una tabla llamada turno...

Pues según has puesto antes se llama turnos, no turno :)

yevabas 15-04-2011 17:18:59

:o;)Hola de nuevo

No se que paso hoy volvi abrir el proyecto y sin hacerle nada le di al componente active true, y funciono, no se a que se debio esto, de todos modos muchas gracias por su tiempo, y si llego a verificar que paso se los estare comentando, y de nuevo muchas gracias Casimiro Notevi y a ti también Jafera por tomarse el tiempo de contestar y darme ideas para solucionar esto...

yevabas 15-04-2011 17:35:10

Cita:

Empezado por Casimiro Notevi (Mensaje 397237)
Pues según has puesto antes se llama turnos, no turno :)

Disculpa fue un error de escritura si se llama turnos, gracias por la aclaración no me habia dado cuenta del error, y espero verificar que paso para comentarlo gracias d enuevo


La franja horaria es GMT +2. Ahora son las 22:37:25.

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