Criar tabela MySQL em tempo de execução
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
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
Curtidas 0
Respostas
Renato_mendes
03/11/2003
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
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
GOSTEI 0
Renato_mendes
03/11/2003
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 !!
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 !!
GOSTEI 0