Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera, Estou como seguinte problema: Utilizo muitas Query com fields adicionados, tipo quando vou gravar um dado passo NomeQueryNomecampo.asstring := , o que acontece é que quando mudo o tipo deste campo no BD tenho q retirar e add novamente para que seja aceito e não de nenhum erro. Em outras Query não adiciono os campos e utilizo fieldbyname quando vou gravar ou ler algum dado, tipo NomeQuery.fieldbyname('Nomecampo').asstring := . Sei que utilizando fielbyname não da nenhum pau. mas estou precisando alterar alguns campos do Banco de Dados e quero saber como proceder pra não ter que retirar e adicionar os fields novamente ou ter que passar grande parte da minha aplicação pra fieldbyname.Ateciosamente:Carlos Edu.
Valeu por tirar a duvida.
Eu particularmente gosto muito do uso do FieldByName, pois no caso alterações como a sua no BD já se solucionão ai mesmo, e tb pode ter uma query sendo usada para N casos... justamente por causa do FieldByName.
Eu estou tentando utilizar esse recurso, mas não estou conseguindo, o que há de errado? Nem mesmo o DBGrid não aparecem os dados e o DBLookupComboBox então, esse parece q não tem conexão nenuma com a consulta.
>
Try
CIDADES.Connection := CONEXAO;
CONEXAO.Connected:=True;
With CIDADES Do
Begin
Close;
SQL.Clear;
SQL.Add(' SELECT Cid_Codigo, Cid_Nome, Cid_Estado, Cid_DDD ');
SQL.Add(' FROM a_cidades ');
SQL.Add(' ORDER BY Cid_Estado, Cid_Nome');
Open;
End;
DBLookupComboBox1.ListSource:=DSCidades;
DBLookupComboBox1.ListField:=CIDADES.FieldByName('Cid_Nome').AsString;
DBLookupComboBox1.KeyValue:=CIDADES.FieldByName('Cid_Codigo').AsString;
DBGrid1.DataSource:=DSCidades;
DBGrid1.Columns.Clear;
DBGrid1.Columns.Add;
DBGrid1.DataSource:=DSCidades;
DBGrid1.Columns[0].FieldName:=CIDADES.FieldByName('Cid_Nome').AsString;
DBGrid1.Columns[0].Title.Caption:='CIDADE';
finally
FreeAndNil(CIDADES);
End;
Infelizmente ou um ou outro...
hehe!!
Ou passa tudo para FieldsByName('xxxx');
Ou Tira e coloca novamente os campos na query...
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif