Question:
How do I use stored procedures in a multi-tier environment?
Answer:
You'll need to get the provider interface and set the parameters before trying to open the client dataset. Unfortunately there is no way to do this at design time, but it should work OK at run time.
Here is some code that shows basically what you need to do:
// This example assumes the stored procedure takes 2
// parameters, and binds them by name. if you need to
// update the data returned from a stored procedure, you
// will need to use a TUpdateSQLProvider.
procedure TDBClientTest.Button3Click(Sender: TObject);
var
Params: Variant;
begin
ClientData.Provider := RemoteServer1.GetProvider('ProviderName');
Params := VarArrayCreate([0, 1], varVariant);
Params[0] := VarArrayOf(['@InParam1', 101]);
Params[1] := VarArrayOf(['@InParam2', 'test_param']);
ClientData.Provider.SetParams(Params);
ClientData.Open;
end;