Buscar valor de campo com FieldbyName no ClientDataSet
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
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
Curtidas 0
Respostas
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;
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