Ver Mensaje Individual
  #5  
Antiguo 07-01-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Hola!

Creo entender el problema, aunque ayudaría mucho que nos dijeras cuál es el mensaje de error exacto y nos detallaras un poco más cómo empleas los componentes y después de qué instrucción del programa se genera el error.

Verifica que la propiedad ResolveToDataSet esté en False y utiliza el evento OnGetTableName para indicarle el nombre de la tabla donde debe hacer el Insert Into.

Código Delphi [-]
procedure TdmProveedor.prClientesGetTableName(Sender: TObject;
  DataSet: TDataSet; var TableName: String);
begin
  inherited;
  TableName := 'CLIENTES';
end;

Espero te sirva, nos comentas cómo te fue.

Al González.

P.D. Ahora veo el comentario de Linett, y, según noto en Provider.pas, es posible que no baste usar el evento que señalé. El problema que veo es que primero se intenta obtener el nombre de la tabla a través del conjunto de datos que tenga asociado, y luego mediante el evento. Ese orden no está del todo mal, el verdadero problema es que se asume que habrá siempre un conjunto de datos asociado (Tree.Source).
Código Delphi [-]
  if TableName = '' then
    TableName := IProviderSupport(Tree.Source).PSGetTableName;
  Provider.DoGetTableName(Tree.Source, TableName);
(encontrado con Find in Files en la unidad Provider.pas de Delphi 7)

Última edición por Al González fecha: 07-01-2009 a las 19:22:20.
Responder Con Cita