|
|
|
|
|
Dicas
|
|
Visual Basic (Banco de Dados)
|
|
|
Título da Dica: Otimizando o Marshaling de recordsets desconectados com MTS
|
|
|
|
Postada em 9/9/2003 por Ð@®l@n
Quando se utiliza o Vb como client de componentes MTS obtem-se muitas facilidades na programação.
Um exemplo é a capacidade do componente de devolver um recordset desconectado para o client, o client poder alterar os dados no recordset e passar o recordset para o componente. Quando o componente recebe o recordset apenas precisa refazer a conexão e utilizar um UpdateBatch para atualizar os dados do servidor.
Mas ao passar o recordset para o componente existem nele muitos registros que não sofreram alteração nenhuma. A presença destes registros no Recordset gera uma transferencia desnecessária para o componente.
Para resolver o problema o Recordset possui uma propriedade chamada MarshalOptions que determina de quer forma será feito o Marshaling durante a transferência : Se ele será feito de todos os registros ou apenas dos registros modificados.
Assim sendo, setando a propriedade MarshalOptions para adMarshalModifiedOnly apenas os registros modificados serão enviados para o componente. Este receberá o recordset apenas com os registros que realmente irá processar. Veja um exemplo :
RS.MarshalOptions=adMarshalModifiedOnly
|
|
|
|
|