Delphi - TIBSQL komponens

Interbase 9. rész

forráskód letöltése
A sorozat jelen részében az IBSQL komponenssel ismerkedünk meg. A komponens igen hatékony eszköze az olyan SQL utasítások futtatásának, melyeknek nem kell megjeleníteni az eredményüket. Ez az SQL utasítás általában egy lekérdezés szokott lenni. A komponenshez nem rendelhetünk adatmegjelenítő komponenseket. Az IBSQL segítségével kevesebb erőforrást használva készíthetünk lekérdezéseket. A komponens csak az egyirányú adatbázis-kurzort támogatja.

A komponens tulajdonságai, eseményei és metódusai

Tulajdonságok
  • Bof: Igaz értékkel jelzi, ha az adathalmaz elején vagyunk.
  • Database: Az adatbázisunkat azonosítja.
  • Eof: Igaz értéket ad, ha az adathalmaz utolsó eleméhez értünk.
  • GenerateParamsNames: Ha a tulajdonságnak igaz értéket adunk, akkor a lekérdezés előállítja a paraméterek listáját is.
  • GoToFirstRecordOnExecute: Ha lekérdezés megnyitása után az eredményhalmaz első elemére szeretnénk állni, állítsuk a tulajdonságot igazra.
  • Open: Igaz értéket ad, ha az adathalmaz nyitva van.
  • ParamCheck: Beállíthatjuk, hogy ha futási időben változnak a lekérdezés paraméterei, újra kell-e azokat generálni. Akkor hasznos számunkra ez a tulajdonság, ha DDL utasítást futtatunk. Tárolt eljárások futtatása esetén többnyire hamis értékűre szokták állítani.
  • Params: A lekérdezéshez szükséges paramétereket adhatjuk meg.
  • Plan: A lekérdezés tervével tér vissza miután előkészítettük a lekérdezést.
  • Prepared: Jelzi, ha a lekérdezés már elő van készítve.
  • RecordCount: A lekérdezés aktuális (megnézett) rekordjainak számát adja meg. Kezdetben csak a lekérdezés első elemét nézzük meg. A tulajdonság értéke 1. Majd továbblépünk a következő rekordra. Ekkor a tulajdonság értéke 2 lesz. Ha összesen 100 rekordunk van, miután mindet megnéztük, a tulajdonság értéke 100 lesz.
  • RowsAffected: Azon sorok számát határozza meg, amelyeket az UPDATE vagy DELETE utasítások érintettek. Ha nem történt semmi, a visszatérési értéke -1.
  • Transaction: A komponenshez kapcsolt IBTransaction komponenst azonosítja.
  • SQL: A futtatni kívánt SQL utasítást kell a tulajdonság segítségével megadnunk.
  • SQLType: Az SQL utasítás típusával tér vissza. Lehetséges értékei:
SQLCommit: Az aktív tranzakciót véglegesítettük.
SQLDDL: DDL utasítást használtunk.
SQLDelete: Az adattábla egy vagy több sorát töröltük.
SQLExecProcedure: Tárolt eljárást hívtunk.
SQLGetSegment: Egy szegmenst olvastunk egy nyitott BLOB mezőből.
SQLInsert: Egy vagy több sort szúrtunk be az adattáblába.
SQLPutSegment: Egy BLOB szegmenst írtunk.
SQLRollback: Visszagörgettük az aktív tranzakciót.
SetGenerator: Egy létező generátor új értéket kapott.
SQLSelect: SELECT utasítást futtattunk.

Események:
  • OnSQLChanging: Az esemény akkor aktiválódik, amikor egy SQL lekérdezés elkezd megváltozni. Ha kivétel keletkezik, a lekérdezés nem változik.
Metódusok:
  • BatchInput: Futtathatunk egy paraméterezett SQL utasítást (általában INSERT) úgy, hogy az adatokat egy fájlból töltjük be az adatbázisba.
  • BatchOutput: Az aktuális lekérdezés eredményét menti egy megadott fájlba.
  • CheckClosed: Egy kivétel keletkezik, ha a lekérdezés nyitott.
  • CheckOpen: Egy kivétel keletkezik, ha a lekérdezés nem nyitott.
  • ExecQuery: Egy SQL lekérdezést futtat.
  • Next: A lekérdezés köbvetkező rekordját azonosítja.
  • Prepare: Arra használhatjuk ezt az eljárást, hogy a lekérdezés számára erőforrást foglaljunk le, és az optimalizálása megtörténhessen. Ezáltal ha többször is meghívjuk a lekérdezést, akkor az gyorsabban fog lefutni. A Delphi rendszer automatikusan optimalizálja a lekérdezést a futtatása előtt, ha mi ezt nem tettük meg, majd a futás után felszabadítja az erőforrásokat. Ezt annyiszor teszi meg, ahányszor az adott lekérdezés lefut.
  • Close: A lekérdezés bezárása.

Interbase cikksorozat