Comando locate utilizando ClientDataSet
Galera!
Estou enfrentando um problema quanto a utilização do comando locate com clientDataSet.
Eu gastaria de saber como é a utilização do comando Locate utilizando o ClientDataSet, pois eu utilizei da seguinte forma e não funcionou, alias, não obtive resposta, pois não há retorno:
ClientDataSet.Locate(´Ficha´,Edit1.Text,[];
Depois eu tentei fazer tudo de forma dinâmica, criei uma SQLQuery, um DataSetProvider e um ClientDataSet e deu erro. Os códigos ficaram da seguinte forma:
----
Procedure...
var SQLQQuery:TSQLQuery;
DataSetProvider:TDataSetProvider;
ClientDataSet:TClientDataSet;
begin
SQLQuery:= TSqlQeury.Creat(Self);
SQLQuery.SqlConnection:=Dm.SQLConnec;
DataSetProvider.DataSet:=SQLQuery;
ClientDataSet.Providername:=´ClientDataSet´;
ClientDataSet.close;
with SQLQuery do
begin
close;
sql.clear;
sql.add(´select * from inventario where ficha= :ficha´);
Parambyname(´ficha´).AsString:=Edit1.Text;
Prepare:=True;
Open;
if Fields[0].AsInteger=0
then showmessage()
else begin
ClientDataSet.FetchParams;
ClientDataSet.Params[0].AsString:=Edit1.Text;
ClientDataSet.Locate(´Ficha´,Edit1.Text,[]);
ClientDataSet.open
end;
end;
end;
-----------
Infelizmente não obtive sucesso com todos estes códigos que elaborei, pois não sei se há necessidade da criação também de um DataSource ou se alguma coisa está errada mesmo.
Bom Galera, fica aí o pedido de ajuda, pelo menos para a utilização de um Locate em uma SQLQuery e ClientDataSet que já existem no DM.
Obrigado
Estou enfrentando um problema quanto a utilização do comando locate com clientDataSet.
Eu gastaria de saber como é a utilização do comando Locate utilizando o ClientDataSet, pois eu utilizei da seguinte forma e não funcionou, alias, não obtive resposta, pois não há retorno:
ClientDataSet.Locate(´Ficha´,Edit1.Text,[];
Depois eu tentei fazer tudo de forma dinâmica, criei uma SQLQuery, um DataSetProvider e um ClientDataSet e deu erro. Os códigos ficaram da seguinte forma:
----
Procedure...
var SQLQQuery:TSQLQuery;
DataSetProvider:TDataSetProvider;
ClientDataSet:TClientDataSet;
begin
SQLQuery:= TSqlQeury.Creat(Self);
SQLQuery.SqlConnection:=Dm.SQLConnec;
DataSetProvider.DataSet:=SQLQuery;
ClientDataSet.Providername:=´ClientDataSet´;
ClientDataSet.close;
with SQLQuery do
begin
close;
sql.clear;
sql.add(´select * from inventario where ficha= :ficha´);
Parambyname(´ficha´).AsString:=Edit1.Text;
Prepare:=True;
Open;
if Fields[0].AsInteger=0
then showmessage()
else begin
ClientDataSet.FetchParams;
ClientDataSet.Params[0].AsString:=Edit1.Text;
ClientDataSet.Locate(´Ficha´,Edit1.Text,[]);
ClientDataSet.open
end;
end;
end;
-----------
Infelizmente não obtive sucesso com todos estes códigos que elaborei, pois não sei se há necessidade da criação também de um DataSource ou se alguma coisa está errada mesmo.
Bom Galera, fica aí o pedido de ajuda, pelo menos para a utilização de um Locate em uma SQLQuery e ClientDataSet que já existem no DM.
Obrigado
Ricardo Giordano
Curtidas 1
Respostas
Marcelo.c
07/06/2004
[quote:7e2e58ebe0=´Ricardo Giordano´]ClientDataSet.Locate(´Ficha´,Edit1.Text,[];
[/quote:7e2e58ebe0]Aqui, aparentemente, faltou fechar o parênteses.
Não é emitida nenhuma mensagem de erro ?
Você já verificou se a unit DB está declarada no uses ?
[/quote:7e2e58ebe0]Aqui, aparentemente, faltou fechar o parênteses.
Não é emitida nenhuma mensagem de erro ?
Você já verificou se a unit DB está declarada no uses ?
GOSTEI 0
Poeta Noturno
07/06/2004
Como vai Ricardo?
Analisando seu código, percebi duas coisas estranhas:
1- por que você define dinamicamente a propriedade ProviderName do ClientDataSet como ´ClientDataSet´ ao invés de definí-la como DataSetProvider?
2- Por que você só criar dinamicamente o sqlquery e os demais não? Isso pode estar influenciando.
Tenta realizar estas alterações, pois no restante do código não vi nenhuma outra coisa que pudesse atrapalhar o sucesso da tua operação.
Um abraço.
Poeta Noturno
Analisando seu código, percebi duas coisas estranhas:
1- por que você define dinamicamente a propriedade ProviderName do ClientDataSet como ´ClientDataSet´ ao invés de definí-la como DataSetProvider?
2- Por que você só criar dinamicamente o sqlquery e os demais não? Isso pode estar influenciando.
Tenta realizar estas alterações, pois no restante do código não vi nenhuma outra coisa que pudesse atrapalhar o sucesso da tua operação.
Um abraço.
Poeta Noturno
GOSTEI 0