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
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
Curtir tópico
+ 0
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
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 !!
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
Clique aqui para fazer login e interagir na Comunidade :)