Få tilgang til eksterne datakilder
Når du arbeider med et Microsoft Office InfoPath 2003-skjema, kan du skrive skriptkode for å få tilgang til skjemaets sekundære datakilder, som vanligvis er eksterne for den primære datakilden for et skjema, og deretter behandle dataene i dem. InfoPath-objektmodellen støtter tilgang til et skjemas eksterne datakilder gjennom bruk av DataObject-objektet sammen med DataObjects-samlingen.
InfoPath-objektmodellen inneholder også et sett av dataadapterobjekter, som inneholder informasjon om de sekundære datakildene, og gir tilgang til dataene i disse objektene. Hvilken type dataadapter DataObject-objektet returnerer, avhenger av datakildetypen som var valgt da den sekundære datakilden ble opprettet i utformingsmodus.
Oversikt over DataObjects-samlingen
DataObjects-samlingen inneholder følgende egenskaper som skjemautviklere kan bruke til å behandle DataObject-objektene i samlingen:
Navn | Beskrivelse |
---|---|
Count-egenskapen | Returnerer antallet DataObject-objekter i samlingen |
Item-egenskapen | Returnerer en referanse til det angitte DataObject-objektet |
Oversikt over DataObject-objektet
DataObject-objektet inneholder følgende metode og egenskaper som skjemautviklere kan bruke til å arbeide interaktivt med en ekstern InfoPath-datakilde:
Navn | Beskrivelse |
---|---|
Query-metoden | Leser data fra dataadapteren inn i XML DOMen (Document Object Model) som er knyttet til DataObject-objektet |
DOM-egenskapen | Returnerer en referanse til XML DOMen som er knyttet til DataObject-objektet |
Name-egenskapen | Returnerer en strengverdi som angir navnet på DataObject-objektet |
QueryAdapter-egenskapen | Returnerer en referanse til et dataadapterobjekt |
Oversikt over dataadapterobjektene
Dataadapterobjektene inneholder ulike egenskaper og metoder for å hente data fra og sende data til eksterne datakilder. Dataadapteren som er knyttet til et DataObject-objekt, er avhengig av datakildetypen. InfoPath implementerer følgende typer dataadapterobjekter:
Navn | Beskrivelse |
---|---|
ADOAdapter-objektet | Kobler til ADO-/OLEDB-datakilder (begrenset til Microsoft Access og Microsoft SQL Server) |
WebServiceAdapter-objektet | Kobler til XML-webtjenester |
XMLFileAdapter-objektet | Kobler til en XML-fil |
Bruke DataObjects-samlingen og DataObject-objektet
DataObjects-samlingen er tilgjengelig via DataObjects-egenskapen for XDocument-objektet. Hvis du for eksempel oppretter en sekundær datakilde med navnet CityList som er basert på en tabell i en Microsoft Access-database, kan du bruke DataObjects-samlingen til å angi en referanse til DataObject-objektet som representerer den eksterne datakilden.
I eksempelkoden nedenfor overføres navnet på den sekundære datakilden til Item-egenskapen for DataObjects-samlingen, som returnerer en referanse til DataObject-objektet, som i dette eksemplet er knyttet til et ADOAdapter-dataadapterobjekt. Ved hjelp av QueryAdapter-egenskapen for DataObject-objektet viser ADOAdapter-dataadapterobjektets Connection-egenskap ADO-koblingsstrengen i en meldingsboks.
function TestDataObjects()
{
var objDataObject;
// Set a reference to the specified data object.
objDataObject = XDocument.DataObjects("CityList");
// Display the connection information for the ADOAdapter object.
XDocument.UI.Alert("Data Adapter: " + objDataObject.QueryAdapter.Connection);
objDataObject = null;
}
Du kan behandle dataene i en sekundær datakilde ved å bruke DOM-egenskapen for DataObject-objektet til å returnere en referanse til XML DOMen som inneholder dataene. Når du har fått referansen til XML DOMen, kan du bruke egenskapene og metodene for den til å behandle dataene.