ADOObjektenRecordset
[ Hem ] Allmänt ASP XML SQL ADO HTML CSS VB Java Design Karta
ADO i VB6 Händelser Objekten Enum värden

Recordset

Recorset objektet används för att hatera en tabell.

Metoder

  • AddNew
    • Sätter in en ny post i en uppdateringsbar recordse. Det är enklare att använda SQL:s INSERT INTO kommando.
  • Close
    • Stänger recordset objektets tabell
  • GetRows
      Hämtar ett större antal rader (Inte bra om det är en stor tabell)
  • Move postnummer
    • Hoppar framåt eller bakåt beroende på talet som specificerats.
    • recordset.Move -1 går en rad bakåt och recordset.Move +2 två rader framåt. Ett problem är att vi oftast inte har tillgång till en NUVARNDE post eftersom vi öppnar och stänger tabeller varteftersom en sida laddas.
    • Vi kan inte gå bakåt i en ForwardOnly recordset.
  • MoveFirst, MoveLast, MovePrevious och MoveNext
      Hoppar till första, sista, föregående och nästa. man kan inte gå bakåt i en ForwardOnly recordet.
    • man kan kolla EOF propertyn för att se om man kommit till slutet.
  • Open
    • För recordSetObjekt.Open finns följande parametrar

      Syntax:
      recordSetObjekt.Open, "kommando", connObject, kursortyp, lockTyp, alternativ

      • kommando är en oftast giltig SQL SELECT sats (om inte alternativ är satt)
      • connObject är en öppen Connection
      • kursortyp är
        • 0 = ForwardOnly (default)
          Öppna tabellen för "forward only". Snabbast för listningar. Man kan aldrig backa bland posterna.
        • 1 = KeySet kursor.
          Man kan inte se insättningar som andra gjort. Raderingar som andra gjort gör att man inte slipper åt posten. Ändringar som andra gjort syns. Eftersom vi oftast anvånder ADO genom att öppna, läsa och stänga gör inte detta så mycket.
        • 2 = Dynamic.
          Man kan bläddra framåt och bakåt, sätta in och ta bort. Mest mångsidig men långsamast!
        • 3 = Static.
          En "Snapshot" av datat för rapporter och listningar
        • Man använder oftast 0 för listningar och 1 för övrig hantering...
      • lockTyp
        • 1 = ReadOnly (default).
          Man kan endast läsa datat, men inte ändra eller radera
        • 2 = Pessimistic.
          Databassystemet låser posten man arbetar med direkt man börjar arbeta med den
        • 3 = Optimistic.
          Databassystemet låser posten så sent som möjligt före en ändring.
        • 4 = BatchOptimistic.
          Optimerad för uppdatering av många poster på en gång.
        • Vi använder ReadOnly. Om vi använder SQL UPDATE och INSERT satser så sköter databassystemet själv låsningar. Använd annars Optimistic (verkar fungera)
      • alternativ
        • 1 = Text (default).
          Tolka kommando som en SQL sats
        • 2 = Tabell.
          kommando är namnet på en tabell
        • 4 = Stored Procedure.
          kommando är namnet på en stored procedure (endast SQL servers)
        • 8 = Unknown.
          Vi vet inte vad kommando är för typ????
        • 1:an och 2:an är de aktuella för Access. Skriv helst alltis SQL satser.
      kursortyp, lockTyp och alternativ kan bortlämnas om man är nöjd med default värdena

      I praktiken skapas RecordSet med

      • Set recordSetObjekt = Conn.Execute("SQL SATS")
        För listningar

      • Set recordSetObjekt = Server.CreateObject("ADODB.RecordSet")
        recordSetObjekt.Open "SQL SATS", connObject, 1, 1
        för bläddring och

      • recordSetObjekt.Open "TABELL", connObject, 1, 3 , 2
        för insättingar
  • Requery
    • Se till att datat avspeglar de sista ändringarna
  • Supports
    • Används för att kontrollera vad databasessystemet klarar av
    • Ex: If recordset.Supports(alternativ) Then ...
    • Alternativen är:
      • 16778240 - klarar av AddNew
      • 16384 - klarar av AbsolutePage och AbsolutePosition
      • 8192 - klarar ab Bookmarks
      • 16779264 - klarar av Delete
      • 512 - klarar av MovePrevious
      • 16809984 - klarar av Update
      • Bara för att databassystemet klarar av dessa saker behöver det inta alltid vara sant. Access klarar av uppdateringar men en Query i Access behöver inte nödvändigtvis göra det
  • Update
    • Förverkligar eventuella ändringar

  ConnectionError
Objekten
Connection
Recordset
Error


Top
< Connection Error>
© Anders Enges, Vörå 2002  | 22.01.01 17:34 Visa asp koden