Criação de tabela Access 2000 em runtime, ADOX

15/04/2005

0

SQL

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!


Folken

Folken

Responder

Posts

15/04/2005

Folken

Uso Delphi 7 e o erro ocorre na linha adoCommand1.Execute;


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