Não o que eu faço

08/06/2003

0

ola Pessoal eu estou com um problema aqui no interbase 6


e o seguinte:

que criei duas tabelas uma usuario e outra perfil,

esta e tabela usuario:

CREATE TABLE usuario
(ID INTEGER NOT NULL,
STATUS VARCHAR(1),
MARCA VARCHAR(1),
DATA_INC DATE,
DATA_ALT DATE,
DATA_HAB DATE,
SENHA CHAR(7),
NOME VARCHAR(30),
FANTASIA VARCHAR(15),
DPTO VARCHAR(20),
NIVEL CHAR(1),
CONSTRAINT pk_usuario primary key (id));

e esta e a perfil

CREATE TABLE PERFIL
(ID INTEGER NOT NULL,
STATUS VARCHAR(1),
MARCA VARCHAR(1),
DATA_INC DATE,
DATA_ALT DATE,
DATA_HAB DATE,
OCULTAR VARCHAR(1),
CADCLIFOR VARCHAR(1),
CLIFOR_I VARCHAR(1),
CLIFOR_A VARCHAR(1),
CLIFOR_E VARCHAR(1),
CADPROF VARCHAR(1),
CADPROF_I VARCHAR(1),
CADPROF_A VARCHAR(1),
CADPROF_E VARCHAR(1),
CADTRANSP VARCHAR(1),
CADTRANSP_I VARCHAR(1),
CADTRANSP_A VARCHAR(1),
CADTRANSP_E VARCHAR(1),
CADVENDINT VARCHAR(1),
CADVENDINT_I VARCHAR(1),
CADVENDINT_A VARCHAR(1),
CADVENDINT_E VARCHAR(1),
CADVENEXT VARCHAR(1),
CADVENEXT_I VARCHAR(1),
CADVENEXT_A VARCHAR(1),
CADVENEXT_E VARCHAR(1),
TABATIV VARCHAR(1),
TABATIV_I VARCHAR(1),
TABATIV_A VARCHAR(1),
TABATIV_E VARCHAR(1),
TABCATEG VARCHAR(1),
TABCATEG_I VARCHAR(1),
TABCATEG_A VARCHAR(1),
TABCATEG_E VARCHAR(1),
TABUF VARCHAR(1),
TABUF_IVARCHAR(1),
TABUF_AVARCHAR(1),
TABUF_EVARCHAR(1),
UTCALC VARCHAR(1),
UTCALEND VARCHAR(1),
UTLOCNO VARCHAR(1),
UTIE VARCHAR(1),
UTWE VARCHAR(1),
FRUSUARIO VARCHAR(1),
FRUSUARIO_I VARCHAR(1),
FRUSUARIO_A VARCHAR(1),
FRUSUARIO_E VARCHAR(1),
FRPERFIL VARCHAR(1),
CADAUTOR VARCHAR(1),
CADAUTOR_I VARCHAR(1),
CADAUTOR_A VARCHAR(1),
CADAUTOR_E VARCHAR(1),
CADAUTORIA VARCHAR(1),
CADAUTORIA_I VARCHAR(1),
CADAUTORIA_A VARCHAR(1),
CADAUTORIA_E VARCHAR(1),
CADLIV VARCHAR(1),
CADLIV_I VARCHAR(1),
CADLIV_A VARCHAR(1),
CADLIV_E VARCHAR(1),
CADENTLIV VARCHAR(1),
CADENTLIV_I VARCHAR(1),
CADENTLIV_A VARCHAR(1),
CADENTLIV_E VARCHAR(1),
CONSTRAINT pk_perfil PRIMARY KEY (ID));


elas estão relacionadas com o seguinte comando:

ALTER TABLE USUARIO
ADD CONSTRAINT fk_usuario_perfil FOREIGN KEY (nivel) REFERENCES PERFIL (id)


e a tabela usuario e autonumerica com este comando que eu coloquei

CREATE GENERATOR gen_usuario


eu salvo e faço a verificação dos quatro arquivos no interactive SQL e não consta nenhum erro

quando eu vou colocar os dados na tabela perfil, pelo IBConsole mesmo, não da nenhum erro ja na tabela usuarios, no ultimo campo da o seguinte erro:

Violation of FOREIGN KEY constraint ´FK_Usuario_Perfil´ on table ´Usuario´

o unico modo que eu consegui contornar este problema foi alterar o relacionamento de:

ALTER TABLE USUARIO
ADD CONSTRAINT fk_usuario_perfil FOREIGN KEY (nivel) REFERENCES PERFIL (id)

para:
ALTER TABLE USUARIO
ADD CONSTRAINT fk_usuario_perfil FOREIGN KEY (id) REFERENCES PERFIL (id)

ate ai tudo certo ate o momento que eu coloquei o sequinte codigo no botão de um formulario, pois estas duas tabelas são para logar usuario condições permições diferentes para os mesmo
este codigo:

var
strSqlLog: String;
begin
strSqlLog:= ´SELECT * FROM usuario,perfil WHERE usuario.nivel = perfil.id´;
strSqlLog:=strSqlLog + ´AND fantasia = ´ +#39 + (valorNome.Text) + 39;
strSqlLog:=strSqlLog + ´AND senha = ´ + 39 + (valorSenha.Text) + 39;

menuprin.QueryLogin.Close;
menuPrin.QueryLogin.SQL.Clear;
menuPrin.QueryLogin.SQL.Add(strSqlLog);
menuPrin.QueryLogin.Open;

e agora esta dando este erro:

Dynamic SQL error
SQL error code=-104
token unknown - line 1, char 64
fantasia

alguem poderia me explicar ou dar uma dica para eu resolvereste problema pois eu não conheço muito de interbase e não consigo sair disso


um abraço a todos do forum


Maverickgt302

Maverickgt302

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar