Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A seção de dados define os dados do conjunto de linhas juntamente com quaisquer atualizações pendentes, inserções ou exclusões. A seção de dados pode conter zero ou mais linhas. Ele só pode conter dados de um conjunto de linhas em que a linha é definida pelo esquema. Além disso, conforme observado anteriormente, colunas sem dados podem ser omitidas. Se um atributo ou subelemento for usado na seção de dados e esse constructo não tiver sido definido na seção de esquema, ele será ignorado silenciosamente.
Corda
Caracteres XML reservados em dados de texto devem ser substituídos por entidades de caractere apropriadas. Por exemplo, no nome da empresa "Joe's Garage", a única aspa deve ser substituída por uma entidade. A linha real seria semelhante ao seguinte:
<z:row CompanyName="Joe's Garage"/>
Os seguintes caracteres são reservados em XML e devem ser substituídos por entidades de caractere: {',",&,<,>}.
Binário
Os dados binários são codificados em bin.hex (ou seja, um byte mapeia para dois caracteres, um caractere por nible).
Data e Hora
O formato de VT_DATE variante não é compatível diretamente com tipos de dados XML-Data. O formato correto para datas com um componente de dados e hora é yyyy-mm-ddThh:mm:ss.
Para mais informações sobre os formatos de data especificados pelo XML, consulte a especificação XML-Data W3C.
Quando a especificação XML-Data definir dois tipos de dados equivalentes (por exemplo, i4 == int), o ADO gravará o nome amigável, mas lerá ambos.
Gerenciando alterações pendentes
Um conjunto de registros pode ser aberto no modo de atualização imediata ou em lote. Quando eles são abertos no modo de atualização em lote com cursores do lado do cliente, todas as alterações feitas no Conjunto de Registros estão em um estado pendente até que o método UpdateBatch seja chamado. As alterações pendentes também são mantidas quando o conjunto de registros é salvo. No XML, eles são representados pelo uso dos elementos de "atualização" definidos em urn:schemas-microsoft-com:rowset. Além disso, se um conjunto de linhas puder ser atualizado, a propriedade atualizável deverá ser definida como true na definição da linha. Por exemplo, para definir que a tabela Shippers contém alterações pendentes, a definição de linha seria semelhante a seguir.
<s:ElementType name="row" content="eltOnly" updatable="true">
<s:attribute type="ShipperID"/>
<s:attribute type="CompanyName"/>
<s:attribute type="Phone"/>
<s:extends type="rs:rowbase"/>
</s:ElementType>
Isso informa ao Provedor de Persistência para exibir dados para que o ADO possa construir um objeto Recordset atualizável.
Os dados de exemplo a seguir mostram como as inserções, alterações e exclusões são exibidas no arquivo persistente.
<rs:data>
<z:row ShipperID="2" CompanyName="United Package"
Phone="(503) 555-3199"/>
<rs:update>
<rs:original>
<z:row ShipperID="3" CompanyName="Federal Shipping"
Phone="(503) 555-9931"/>
</rs:original>
<z:row Phone="(503) 552-7134"/>
</rs:update>
<rs:insert>
<z:row ShipperID="12" CompanyName="Lightning Shipping"
Phone="(505) 111-2222"/>
<z:row ShipperID="13" CompanyName="Thunder Overnight"
Phone="(505) 111-2222"/>
<z:row ShipperID="14" CompanyName="Blue Angel Air Delivery"
Phone="(505) 111-2222"/>
</rs:insert>
<rs:delete>
<z:row ShipperID="1" CompanyName="Speedy Express" Phone="(503) 555-9831"/>
</rs:delete>
</rs:data>
Uma atualização sempre contém todos os dados de linha originais seguidos pelos dados de linha alterados. A linha alterada pode conter todas as colunas ou apenas as colunas que realmente foram alteradas. No exemplo anterior, a linha do Shipper 2 não foi alterada e somente a coluna Phone alterou os valores do Shipper 3 e, portanto, é a única coluna incluída na linha alterada. As linhas inseridas para Shippers 12, 13 e 14 são agrupadas sob um tag rs:insert. Observe que as linhas excluídas também podem ser agrupadas em lote, embora isso não seja mostrado no exemplo anterior.