Partilhar via


Operação de comandos não parametrizados

Para comandos não parametrizados, todos os comandos do provedor são executados e os conjuntos de registros são criados durante a execução do comando. Se o comando for executado de forma síncrona, todos os conjuntos de registros serão totalmente preenchidos. Se um modo de população assíncrona tiver sido selecionado, o estado preenchido do Recordsets dependerá do modo de população e do tamanho dos conjuntos de registros .

Por exemplo, o pai-comando pode retornar um Recordset de clientes para uma empresa de uma tabela Customers, e o comando-filho pode retornar um Recordset de pedidos para todos os clientes de uma tabela Orders.

SHAPE {SELECT * FROM Customers}   
   APPEND ({SELECT * FROM Orders} AS chapOrders   
   RELATE customerID TO customerID)  

Para relações pai-filho não parametrizadas, cada objeto Recordset pai e filho deve ter uma coluna em comum para associá-los. Na cláusula RELATE, a coluna pai vem primeiro, seguida pela coluna filho . As colunas podem ter nomes diferentes em seus respectivos objetos Recordset, mas devem se referir às mesmas informações para especificar uma relação significativa. Por exemplo, os objetos Recordset dos clientes e dos pedidos podem ter um campo de ID do cliente. Como a associação do Recordset filho é determinada pelo comando do provedor, o Recordset filho pode conter linhas órfãs. Essas linhas órfãs são inacessíveis sem uma reestruturação adicional.

A modelagem de dados acrescenta uma coluna de capítulo ao Conjunto de Registros pai,. Os valores na coluna de capítulo são referências a linhas no conjunto de registros filho , que atendem à cláusula RELATE. Ou seja, o mesmo valor está na coluna pai de uma determinada linha pai, assim como na coluna filho de todas as linhas do filho do capítulo. Quando várias cláusulas TO são usadas na mesma cláusula RELATE, elas são implicitamente combinadas usando um operador AND. Se as colunas pai na cláusula RELATE não constituírem uma chave para o Recordsetpai, uma única linha filho poderá ter várias linhas pai.

Quando você acessa a referência na coluna de capítulo, o ADO recupera automaticamente o Recordset representado pela referência. Nota que, em um comando não parametrizado, embora todo o Recordset filho tenha sido recuperado, o capítulo apresenta apenas um subconjunto de linhas.

Se a coluna acrescentada não tiver o alias de capítulo , um nome será gerado automaticamente para ela. Um objeto Field da coluna será acrescentado à coleção Campos do objeto Recordset, e seu tipo de dados será adChapter.

Para obter informações sobre como navegar em um conjunto de registros hierárquico, consulte Acessando linhas em um conjunto de registros hierárquico.

Consulte Também

Exemplo de Modelagem de Dados
Gramática de Forma Formal
comandos de forma em geral