Realmente Sérgio, vc ta certo, por isso que hj em dia não se usa mais acesso vai TTable nem Full open em tabelas, pessoal, vamos explorer o poder do SQL pra facilitar a nossa vida.
como falei no MySQL um simples Show Fields retorna tudo sobre os campos de uma tabela, no MSSQL certamente tem algo parecido. Em 19/04/07, Sérgio T. Uetanabaro <[EMAIL PROTECTED]> escreveu: > > Vejo problema nesse tipo de implementacao caso a tabela tenha > 1.000.000,00... ou mesmo tenha poucos registros mas as tuplas sejam > enorme.. > com varios blobs e etc... ai ferra da um open nela pra pegar os fields... > > []´s > > Sergio > > _____ > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto: > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em > nome de Eduardo Silva dos Santos > Enviada em: quinta-feira, 19 de abril de 2007 17:49 > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: Re: [delphi-br] Alterar o tipo do campo > > Humm, trabalhoso heim, no mySQL Seria "Show Fields From NomeDaTabela" > > Em 19/04/07, Centervirtua - Centro de Desenvolvimento < > centervirtua@ <mailto:centervirtua%40centervirtua.com.br> > centervirtua.com.br> escreveu: > > > > 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: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> > os.com.br > <delphi-br%40yahoogrupos.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] > > > > > > > > -- > Eduardo Silva dos Santos > DRD Sistemas. > (27) 3218-4201 > MSN: eduardo.drd@ <mailto:eduardo.drd%40gmail.com> gmail.com > Site: http://www.drdsiste <http://www.drdsistemas.com/> mas.com/ > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Eduardo Silva dos Santos DRD Sistemas. (27) 3218-4201 MSN: [EMAIL PROTECTED] Site: http://www.drdsistemas.com/ [As partes desta mensagem que não continham texto foram removidas]