Buscar valor de campo com FieldbyName no ClientDataSet

Delphi

08/05/2006

Estou com um problema, estou buscando o valor max de uma campo, usando um ClientDataSet.FieldbyName, mas não esta buscando valor, ja utilizei em um SQLDataSet mas este estou fazendo em ClientDataSet.

Alguem q conheça DBExpress poderia me ajudar.

//////////
procedure TFrmCadProdutos.IncCodSequencial;
var
MaxCodS: String;
NovoCodS: Integer;
begin
DMCadastros.cdsProdutos.Close;
DMCadastros.cdsProdutos.CommandText:= ´select (max(CODIGO)) as MaxCodigo from PRODUTOS where TP_COD=´´S´´´;
DMCadastros.cdsProdutos.Open;
MaxCodS:= DMCadastros.cdsProdutos.FieldbyName(´MaxCodigo´).AsString;
DMCadastros.cdsProdutos.Close;
NovoCodS:= StrToInt(MaxCodS) + 1;
edCodigo.Text:= IntToStr(NovoCodS);
end;
//////////

MaxCodS:= DMCadastros.cdsProdutos.FieldbyName(´MaxCodigo´).AsString;
Não esta carregando valor na variavel


Nussbaum

Nussbaum

Curtidas 0

Respostas

Jonas_giron

Jonas_giron

08/05/2006

esse é seu

procedure TFrmCadProdutos.IncCodSequencial;
var
MaxCodS: String;
NovoCodS: Integer;
begin
DMCadastros.cdsProdutos.Close;
DMCadastros.cdsProdutos.CommandText:= ´select (max(CODIGO)) as MaxCodigo from PRODUTOS where TP_COD=´´S´´´;
DMCadastros.cdsProdutos.Open;
MaxCodS:= DMCadastros.cdsProdutos.FieldbyName(´MaxCodigo´).AsString;
DMCadastros.cdsProdutos.Close;
NovoCodS:= StrToInt(MaxCodS) + 1;
edCodigo.Text:= IntToStr(NovoCodS);
end;


por que vc não tenta assim

procedure TFrmCadProdutos.IncCodSequencial;
begin

DMCadastros.MaiorCodigo.Close;
DMCadastros.MaiorCodigo.CommandText:= ´Select (Max(CODIGO)) + 1 as MaxCodigo From PRODUTOS Where TP_COD = ´´S´´´;
DMCadastros.MaiorCodigo.Open;

DMCadastros.CdsProdutos.Open;
EdCodigo.Text:= DMCadastros.MaiorCodigo.FieldbyName(´MaxCodigo´).AsString;


GOSTEI 0
POSTAR