Criação de tabela Access 2000 em runtime, ADOX
15/04/2005
0
Quando uma pessoa cadastra uma disciplina, uma tabela para cadastro de questões daquela disciplina é criada. Até ai tudo bem, porém essa tabela tem uma chave estrangeira da tabela Matéria e isso está gerando o erro: raised exception class EOleException with message ´Já existe uma relação nomeada ´Fk_COD_MAT´ no banco de dados atual.
Estou usando o código abaixo:
var
nometabela, comando:string;
nometabela := UpperCase(dbeNomeDisciplina.Text);
nometabela := RemoveAcento(nometabela);
nometabela := RemoveEspaco(nometabela);
comando:=´CREATE TABLE ´ + nometabela + ´(´ +
´COD_QUESTAO COUNTER, ´ +
´COD_MATERIA INT, ´ +
´PERGUNTA TEXT(255), ´ +
´RESPOSTA TEXT(255), ´ +
´ABERTO_FECHADO CHAR, ´ +
´DIFICULDADE TEXT(10), ´ +
´VESTIBULAR CHAR, ´ +
´CONSTRAINT FK_COD_MAT FOREIGN KEY (COD_MATERIA) REFERENCES MATERIA (COD_MATERIA))´;
adoCommand1.CommandText := comando;
adoCommand1.Execute;
comando := ´CREATE INDEX IDX_QUEST_COD ´ +
´ON ´+ dbeNomeDisciplina.Text + ´ (COD_QUESTAO) WITH PRIMARY´;
adcBaseDados.CommandText := comando;
adcBaseDados.Execute;
A sintaxe está errada?? Ou fiz algo errado?
Obrigado!
Estou usando o código abaixo:
var
nometabela, comando:string;
nometabela := UpperCase(dbeNomeDisciplina.Text);
nometabela := RemoveAcento(nometabela);
nometabela := RemoveEspaco(nometabela);
comando:=´CREATE TABLE ´ + nometabela + ´(´ +
´COD_QUESTAO COUNTER, ´ +
´COD_MATERIA INT, ´ +
´PERGUNTA TEXT(255), ´ +
´RESPOSTA TEXT(255), ´ +
´ABERTO_FECHADO CHAR, ´ +
´DIFICULDADE TEXT(10), ´ +
´VESTIBULAR CHAR, ´ +
´CONSTRAINT FK_COD_MAT FOREIGN KEY (COD_MATERIA) REFERENCES MATERIA (COD_MATERIA))´;
adoCommand1.CommandText := comando;
adoCommand1.Execute;
comando := ´CREATE INDEX IDX_QUEST_COD ´ +
´ON ´+ dbeNomeDisciplina.Text + ´ (COD_QUESTAO) WITH PRIMARY´;
adcBaseDados.CommandText := comando;
adcBaseDados.Execute;
A sintaxe está errada?? Ou fiz algo errado?
Obrigado!
Folken
Curtir tópico
+ 0
Responder
Posts
Clique aqui para fazer login e interagir na Comunidade :)