Pra buscar o nome do campo vai a funcao abaixo

Inclua na seção uses: dbTables, Classes, Forms

A função abaixo obtém os nomes de todos os campos de uma tabela do banco de 
dados.

procedure tbGetFieldNames(const DBName, TblName: string;
  List: TStringList);
var
  I: integer;
begin
  List.Clear;
  with TTable.Create(Application) do
  try
  DatabaseName := DBName;
  TableName := TblName;
  with FieldDefs do begin
  Update;
  for I := 0 to Count -1 do
  begin
  List.Add(Items[I].Name);
  List.Add(Items[I].fieldkind);
  end;
  end;
  finally
  Free;
  end;
end;
=== Exemplo de uso ===

- Coloque um TMemo e um TButton no Form;

- Coloque o código abaixo no evento OnClick do Button:

procedure TForm1.Button1Click(Sender: TObject);
var
  List: TStringList;
begin
  List := TStringList.Create;
  try
  tbGetFieldNames(Edit1.Text, Edit2.Text, List);
  Memo1.Lines.Assign(List);
  finally
  List.Free;
  end;
end;
//termino da funcao
pra alterar o campo vai a funcao abaixo

procedure TForm1.Button1Click(Sender: TObject);
var
  Q: TQuery;
begin
  Q := TQuery.Create(Application);
  try
  Q.DatabaseName := 'SF';
  with Q.SQL do begin
  Add('Alter Table Funcionarios');
  Add('( Codigo AutoInc,');
  Add(' Nome Char(30),');
  Add(' Salario Money,');
  Add(' Depto SmallInt,');
  Add(' Primary Key (Codigo) )');
  end;
  Q.ExecSQL;
  finally
  Q.Free;
  end;
end;
Espero ter ajudado
[]s
  ----- Original Message ----- 
  From: Doretto 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, April 18, 2007 5:31 PM
  Subject: [delphi-br] Alterar o tipo do campo


  Bom Tarde !!!

  Eu queria criar uma rotina para mudar o tipo de campo de int para float, tem 
como ?

  Tambem queria ler uma tabela e saber o nome e tipo de cada campo..

  Abraço

  Doretto.

  [As partes desta mensagem que não continham texto foram removidas]



   


------------------------------------------------------------------------------


  No virus found in this incoming message.
  Checked by AVG Free Edition.
  Version: 7.5.446 / Virus Database: 269.5.2/766 - Release Date: 18/4/2007 07:39


[As partes desta mensagem que não continham texto foram removidas]

Responder a