Criar tabela MySQL em tempo de execução

03/11/2003

0

Como faço para criar uma tabela em tempo de execução, seus arquivos, etc... ??

Como, por exemplo, uma tabela parecida com esta abaixo, que esta em Paradoxx:

--------------------------
if not FileExists (Diretorio + ´\dados\cliente_´ + codigo + ´.db´) then
begin
Table1.Close;
Table1.TableName := ´cliente_´ + codigo + ´.db´;
Table1.TableType := ttDefault;
Table1.FieldDefs.Clear;
Table1.FieldDefs.Add(´Codigo´, ftString, 20, False);
Table1.FieldDefs.Add(´Evento´, ftString, 40, False);
Table1.FieldDefs.Add(´Tipo´, ftSmallint, 0, False);
Table1.FieldDefs.Add(´Prioridade´, ftSmallint, 0, False);
Table1.FieldDefs.Add(´Programado´, ftSmallint, 0, False);
Table1.FieldDefs.Add(´IdPainel´, ftSmallint, 0, False);
Table1.IndexDefs.Clear;
Table1.IndexDefs.Add(´PrimaryIndex´, ´Codigo´, [ixPrimary, ixUnique]);
Table1.CreateTable;
end;
--------------------------
Ai é criado um arquivo .db com a estrutura indicada acima...
como faço a mesma coisa, só q com o MySQL ??
Estou usando o componente ZeosLib e nao achei os comandos ´TableType´ e nem ´CreateTable´, sendo esse último essencial para a criação do arquivo.

Espero que alguem possa me ajudar a agradeço desde ja,

Renato Mendes


Renato_mendes

Renato_mendes

Responder

Posts

03/11/2003

Renato_mendes

O que há de errado com esse codigo ??

Se executo uma consulta no DBManager ele cria a tabela, sem problemas !!
Mas no Delphi, com esse código da erro:

------------------------
Table1.Sql.Add(´Create Table ev_´ + cliente + ´ (Codigo VARCHAR(20), Evento VARCHAR(40), Tipo SMALLINT(3), Prioridade SMALLINT(3), Programacao SMALLINT(3), IdPainel INTEGER(3), PRIMARY KEY(Codigo))´);
Table1.ExecSql;
------------------------

Aguardo respostas,
Renato Mendes


Responder

07/11/2003

Renato_mendes

Se interessar a alguem...
Agora deu certo...

Query.Sql.Add(´Create Table ev_´ + cliente + ´ (Codigo VARCHAR(20), Evento VARCHAR(40), Tipo SMALLINT(3), Prioridade SMALLINT(3), Programado SMALLINT(3), IdPainel INTEGER(3), PRIMARY KEY(Codigo))´);
Query.ExecSql;

Com um componente TABLE não funcionava... e sim com um Query, é claro !!


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