Erro (com imagem)

Delphi

03/12/2007

[img:2f521d6da3]http://a.imagehost.org/0052/erro.jpg[/img:2f521d6da3]

Alguem pode me ajudar com este erro?
Ao tentar criar uma tabela por sql... a primeira vez cria...
na segunda ,com nome diferente ,chave primaria e tudo correto... aparece esse erro =X
alguem sabe explicar?


Pips_btos

Pips_btos

Curtidas 0

Respostas

Silviogs

Silviogs

03/12/2007

Olá


posta a query aí meu amigo.

Silvio Guedes.


GOSTEI 0
Pips_btos

Pips_btos

03/12/2007

essa query ja foi citada em outro topico
com outro tipo de duvida

queryadd.SQL.Clear;
queryadd.SQL.Add(´create table ´+dbnome.Text+´ (´);
queryadd.SQL.Add(´campo1 varchar (25) CONSTRAINT primarykey PRIMARY KEY,´);
queryadd.SQL.Add(´campo2 Varchar (25),´);
queryadd.SQL.Add(´campo3 Varchar (25),´);
queryadd.SQL.Add(´campo4 Varchar (25) )´);

onde o nome da tabela tem o valor de DBnome.text
a primeira vez que executo ele cria a tabela normalmente
depois q a tabela ja foi criada no banco, por exemplo com o nome ´tabela1´
...msm reiniciando o programa e o banco, quando executo denovo essa funçao acontece esse erro... e uma ´tabela2´ por exemplo nao pode ser criada




Grato -


GOSTEI 0
Gandalf.nho

Gandalf.nho

03/12/2007

Mesmo usando outro nome de tabela, você está tentando criar mais de uma chave primária no banco com o mesmo nome, o que não é permitido.


GOSTEI 0
Silviogs

Silviogs

03/12/2007

Olá

queryadd.SQL.Clear;
queryadd.SQL.Add(´create table ´+dbnome.Text+´ (´);
queryadd.SQL.Add(´campo1 varchar (25) not null,´);
queryadd.SQL.Add(´campo2 Varchar (25),´);
queryadd.SQL.Add(´campo3 Varchar (25),´);
queryadd.SQL.Add(´campo4 Varchar (25) )´);
queryadd.SQL.Open;

queryadd.SQL.Clear;
queryadd.SQL.Add(´ALTER TABLE ´+dbnome.Text+´ADD CONSTRAINT +´PK_´+dbnome.Text+´ PRIMARY KEY (campo1) ´);
queryadd.SQL.Open;

tem que executar duas querys, caso para criar indices seria da mesma forma.

Silvio guedes


GOSTEI 0
Steve_narancic

Steve_narancic

03/12/2007

A tabela informada já existe no banco de dados


GOSTEI 0
Silviogs

Silviogs

03/12/2007

Olá

para funcionar deleter primeiro a tabela e faça o teste:

queryadd.SQL.Clear;
queryadd.SQL.Add(´DROP TABLE ´+dbnome.Text+´);
ADDqueryadd.SQL.ExecSQL;

queryadd.SQL.Clear;
queryadd.SQL.Add(´create table ´+dbnome.Text+´ (´);
queryadd.SQL.Add(´campo1 varchar (25) not null,´);
queryadd.SQL.Add(´campo2 Varchar (25),´);
queryadd.SQL.Add(´campo3 Varchar (25),´);
queryadd.SQL.Add(´campo4 Varchar (25) )´);
queryadd.SQL.Open;

queryadd.SQL.Clear;
queryadd.SQL.Add(´ALTER TABLE ´+dbnome.Text+´ADD CONSTRAINT +´PK_´+dbnome.Text+´ PRIMARY KEY (campo1) ´);
queryadd.SQL.ExecSQL;


GOSTEI 0
POSTAR