ADO Recordset-objekti

Esimerkki

GetRows
Tämä esimerkki näyttää, miten GetRows-metodia käytetään.

Recordset-objekti

ADO Recordset-objekti käytetään tietokannan taulun tietueiden joukon sisältämiseen. Yksi Recordset-objekti koostuu tietueista ja sarakkeista (kentistä).

ADO:ssa tämä objekti on tärkein ja käytetään useimmin tietokannan tietojen käsittelyyn.

ProgID

set objRecordset=Server.CreateObject("ADODB.recordset")

Kun avaat ensimmäistä kertaa Recordset-objektin, nykyinen tietueviittaus osoittaa ensimmäiseen tietueeseen, ja BOF- ja EOF-ominaisuudet ovat False. Jos tietueita ei ole, BOF- ja EOF-ominaisuudet ovat True.

Recordset-objekti voi tukea kahdenlaista päivitystyyppiä:

  • Välittömäinen päivitys - Heti kun kutsutaan Update-metodia, kaikki muutokset kirjoitetaan välittömästi tietokantaan.
  • Eräpoisto - Tarjoaja varastoi useita muutoksia ja sitten lähetti ne tietokantaan UpdateBatch-metodin avulla.

ADO:ssa määritellään neljä erilaista kurssityyppiä (viittaus):

  • Dynaaminen kurssi - Mahdollistaa muiden käyttäjien tekemiä lisäyksiä, muutoksia ja poistoja.
  • Avainsanakurssi - Samankaltainen dynaamiselle kurssille, mutta et voi nähdä muiden käyttäjien tekemiä lisäyksiä, ja se estää sinua pääsemästä muiden käyttäjien poistamille tietueille. Muiden käyttäjien tekemät tiedonmuutokset ovat silti näkyvillä.
  • Statiikkakurssi - Tarjoaa tietueiston staattisen kappaleen, jota voidaan käyttää tiedon hakemiseen tai raporttien luomiseen. Lisäksi muut käyttäjät tekemät lisäykset, muutokset ja poistot ovat näkymättömiä. Kun avaat asiakaskäyttäjän Recordset-objektin, tämä on ainoa sallittu kurssityyppi.
  • Vain eteenpäin liikkuvat kurssit - Sallii vain eteenpäin liikkumisen Recordsetissa. Lisäksi muut käyttäjät tekemät lisäykset, muutokset ja poistot ovat näkymättömiä. Lisäksi muut käyttäjät tekemät lisäykset, muutokset ja poistot ovat näkymättömiä. Kun avaat asiakaskäyttäjän Recordset-objektin, tämä on ainoa sallittu kurssityyppi.

Kurssityypin voidaan asettaa CursorType-ominaisuudella tai Open-metodin CursorType-argumentilla.

Huomautus:Ei kaikki tarjoajat (providers) tukevat Recordset-objektin kaikkia menetelmiä ja ominaisuuksia.

Ominaisuus

Ominaisuus Kuvaus
AbsolutePage Asettaa tai palauttaa arvon, joka määrittää Recordset-objektin sivun.
AbsolutePosition Asettaa tai palauttaa arvon, joka määrittää nykyisen tietueen järjestysaseman (numeroaseman) Recordset-objektissa.
ActiveCommand Palauttaa Command-objektin, joka liittyy Recordset-objektiin.
ActiveConnection Asettaa tai palauttaa yhteyden määrittelyn, jos yhteys on suljettu, tai palauttaa nykyisen Connection-objektin, jos yhteys on auki.
BOF Palauttaa true, jos nykyisen tietueen sijainti on ensimmäisen tietuen edessä, muuten palauttaa false.
Bookmark Asettaa tai palauttaa kirjanmerkin. Tämä kirjanmerkki tallentaa nykyisen tietueen sijainnin.
CacheSize Asettaa tai palauttaa tallennettavien tietueiden määrän.
CursorLocation Asettaa tai palauttaa kurssipalvelun sijainnin.
CursorType Asettaa tai palauttaa Recordset-objektin kurssityypin.
DataMember Asettaa tai palauttaa nimimerkin, joka viittaa tietojen jäseniin, jotka haetaan DataSource-ominaisuudesta viittaavasta objektista.
DataSource Määrittää objektin, joka sisältää tietueita, jotka halutaan esittää Recordset-objektina.
EditMode Palauttaa nykyisen tietueen muokkaustilan.
EOF Palauttaa true, jos nykyisen tietueen sijainti on viimeisen tietuen jälkeen, muuten palauttaa false.
Filter Palauttaa suodattimen, joka koskee Recordset-objektin tietoja.
Index Asettaa tai palauttaa Recordset-objektin nykyisen indeksin nimen.
LockType Asettaa tai palauttaa arvon, joka määrittää lukitustyyppin, kun muokataan Recordset-objektin tietuetta.
MarshalOptions Asettaa tai palauttaa arvon, joka määrittää, mitkä tietueet palautetaan palvelimelle.
MaxRecords Aseta tai palauta enimmäismäärä tietueita, jotka voidaan palauttaa kyselystä Recordset-objektina.
PageCount Palauta Recordset-objektin tietosivujen lukumäärä.
PageSize Aseta tai palauta yksi sivu Recordset-objektissa sallittujen tietueiden enimmäismäärä.
RecordCount Palauta Recordset-objektin tietueiden lukumäärä.
Sort Aseta tai palauta yksi tai useita kenttien nimiä, jotka toimivat Recordsetin järjestysperustana.
Source Aseta merkkijonoversio, Command-objektin viittaus tai palauta merkkijonoversio, joka viittaa Recordset-objektin tietolähteeseen.
State Palauta arvo, joka kuvaa, onko Recordset-objekti auki, suljettu, yhdistämisessä, suorittamisessa tai tiedon hakemisessa.
Status Palauta tieto nykyisestä tilasta, joka liittyy batch-päivityksiin tai muihin suuriin operaatioihin.
StayInSync Aseta tai palauta, muuttuuko lapsitietueiden viittaus, kun isän tietueen sijainti muuttuu.

Metodi

Metodi Kuvaus
AddNew Luo uusi tietue.
Cancel Peruuta suoritus.
CancelBatch Peruuta erityinen batch-päivitys.
CancelUpdate Peruuta yhden tietueen muutokset Recordset-objektissa.
Clone Luo olemassa olevan Recordset-objektin klooni.
Sulje Sulje Recordset.
CompareBookmarks Vertaa kaksi kirjanmerkkiä.
Delete Poista yksi tai useita tietueita.
Find Etsi yksi tietue Recordset-objektista, joka täyttää tietyn ehdot.
GetRows Kopioi useita tietueita Recordset-objektista kahden ulottuvuuden taulukkoon.
GetString Palauta Recordset merkkijonona.
Siirrä Siirrä tietueviittaus Recordset-objektissa.
SiirräEnsimmäinen Siirrä tietueviittaus ensimmäiseen tietueeseen.
SiirräViimeinen Siirrä tietueviittaus viimeiseen tietueeseen.
SiirräSeuraava Siirrä tietueviittaus seuraavaan tietueeseen.
SiirräEdellinen Siirrä tietueviittaus edelliseen tietueeseen.
SeuraavaRecordset Tyhjennä nykyinen Recordset-objekti suorittamalla sarja komentoja ja palauta seuraava Recordset.
Avaa Avaa tietokannan elementti, joka tarjoaa pääsyn taulun tietoihin, kyselytuloksiin tai tallennettuun Recordset-objektiin.
Requery Päivitä tietojoukon tiedot uudelleen suorittamalla uudelleen objektiin perustuva kysely.
Resync Päivitä nykyisen Recordsetissa olevat tiedot alkuperäisestä tietokannasta.
Save Tallenna Recordset-objekti tiedostoon tai Stream-objektiin.
Seek Etsi Recordsetin indeksiä nopeasti sijoittaaksesi nykyisen rivin määrittämään arvoon vastaavaan riville.
Supports Palauttaa totuusarvon, joka määrittää, tukeeko Recordset-objekti tiettyä toimintoa.
Update Tallenna kaikki muutokset, jotka on tehty Recordset-objektin yhteen tietueeseen.
UpdateBatch Tallenna kaikki Recordsetissa olevien muutokset tietokantaan. Käytä tässä tapauksessa erillistä päivitystapahtumaa.

Tapahtuma

Huomautus: Et voi käsitellä tapahtumia VBScript tai JScriptilla (vain Visual Basic, Visual C++ ja Visual J++ -kieleillä voidaan käsitellä tapahtumia).

Tapahtuma Kuvaus
EndOfRecordset Tapahtuu, kun yritetään siirtyä riville, joka on yli tietojoukon lopun.
FetchComplete Tapahtuu, kun kaikkien tietueiden lukeminen asynkronisessa toiminnassa on valmis.
FetchProgress Tapahtuu säännöllisesti asynkronisessa toiminnassa, raportoidaan kuinka monta tietuetta on luettu.
FieldChangeComplete Tapahtuu Field-objektin arvon muutoksen jälkeen.
MoveComplete Tapahtuu tietojoukon sijainnin muutoksen jälkeen.
RecordChangeComplete Tapahtuu tietueen muutoksen jälkeen.
RecordsetChangeComplete Tapahtuu tietojoukon muutoksen jälkeen.
WillChangeField Tapahtuu ennen Field-objektin arvon muutosta
WillChangeRecord Tapahtuu ennen tietueen muutosta.
WillChangeRecordset Tapahtuu ennen tietojoukon muutosta.
WillMove Tapahtuu ennen Recordsetissa olevan sijainnin muutosta.

Kokoelma

Kokoelma Kuvaus
Fields Viittaa tietojoukon Field-objektien määrään.
Properties Sisältää kaikki Recordset-objektien Property-objektit.

Fields -kokoelman ominaisuudet

Ominaisuus Kuvaus
Count

Palauttaa fields -kokoelmassa olevien kohteiden määrän. Aloitetaan 0:sta.

Esimerkki:

	countfields = rs.Fields.Count
	
Item(nimetty_item/numero)

Palauttaa fields -kokoelmassa olevan tietyn kohteen.

Esimerkki:

	itemfields = rs.Fields.Item(1)
	tai	
	itemfields = rs.Fields.Item("Name")
	

Properties -kokoelman ominaisuudet

Ominaisuus Kuvaus
Count

Palauttaa properties -kokoelmassa olevien kohteiden määrän. Aloitetaan 0:sta.

Esimerkki:

	countprop = rs.Properties.Count
	
Item(nimetty_item/numero)

Palauttaa properties -kokoelmassa olevan tietyn kohteen.

Esimerkki:

	itemprop = rs.Properties.Item(1)
	tai
	itemprop = rs.Properties.Item("Name")