Sun Microsystems
Termékek
 
Támogatás
 
 

Előző Előző     Tartalom     Tárgymutató     Következő Következő

Lekérdezések

Előre megadott lekérdezések rendelhetők adatforráshoz. A StarOffice feljegyzi a lekérdezések SQL-parancsait, így azok mindig elérhetők. A lekérdezések az adatbázisokkal végzett munka megkönnyítésére használatosak, mivel egyetlen kattintással megnyithatók, és az SQL nyelvet nem ismerő felhasználó számára is lehetőséget ad SQL-parancsok kiadására.

A lekérdezések mögött mindig egy a com.sun.star.sdb.QueryDefinition szolgáltatást támogató objektum bújik meg. A lekérdezések elérése az adatforrás QueryDefinitions metódusának segítségével történik.

A következő példában szerepel az üzenetablakról indítható adatforrás-lekérdezések neveit tartalmazó lista.

Dim DatabaseContext As Object

Dim DataSource As Object

Dim QueryDefinitions As Object

Dim QueryDefinition As Object

Dim I As Integer

   

DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")

DataSource = DatabaseContext.getByName("Customers")

QueryDefinitions = DataSource.getQueryDefinitions()



For I = 0 To QueryDefinitions.Count() - 1

   QueryDefinition = QueryDefinitions(I)

   MsgBox QueryDefinition.Name

Next I

A példában használt Name tulajdonság mellett a com.sun.star.sdb.QueryDefinition számos más tulajdonságot ad meg. Ezek a következők:

  • Name (karakterlánc) - a lekérdezés neve.

  • Command (karakterlánc) - SQL-parancs (rendszerint SELECT parancs).

  • UpdateTableName (karakterlánc) - több táblán alapuló lekérdezések esetében: azon tábla neve, melyben lehetséges az értékek módosítása.

  • UpdateCatalogName (karakterlánc) - frissítésitábla-katalógusok neve.

  • UpdateSchemaName (karakterlánc) - frissítésitábla-diagramok neve.

A következő példa bemutatja, hogy miként hozható létre lekérdezési objektum programvezérelt módon, és hogyan rendelhető adatforráshoz.

Dim DatabaseContext As Object

Dim DataSource As Object

Dim QueryDefinitions As Object

Dim QueryDefinition As Object

Dim I As Integer

   

DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")

DataSource = DatabaseContext.getByName("Customers")

QueryDefinitions = DataSource.getQueryDefinitions()



QueryDefinition = createUnoService("com.sun.star.sdb.QueryDefinition")

QueryDefinition.Command = "SELECT * FROM Customer"



QueryDefinitions.insertByName("NewQuery", QueryDefinition)

Elsőként a lekérdezési objektum létrehozása zajlott le a createUnoService hívással, majd az inicializálás következett, végül a insertByName segítségével végrehajtott beillesztés a QueryDefinitions objektumba.

Adatbázisűrlapokra mutató hivatkozások

Az adatforrásokkal való munkavégzés egyszerűbbé tétele érdekében a StarOffice lehetővé teszi az adatforrások összekapcsolását adatbázisűrlapokkal. A hivatkozások a getBookmarks() metóduson keresztül érhetők el. Ez névvel ellátott tárolót (com.sun.star.sdb.DefinitionContainer) ad vissza, mely tartalmazza az adatforrás összes hivatkozását. A könyvjelzők a Name vagy az Index alapján érhetők el.

A következő példa a MyBookmark könyvjelző URL-címének megadását mutatja be.

Dim DatabaseContext As Object

Dim DataSource As Object

Dim Bookmarks As Object

Dim URL As String

Dim I As Integer

   

DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")

DataSource = DatabaseContext.getByName("Customers")

Bookmarks = DataSource.Bookmarks()



URL = Bookmarks.getByName("MyBookmark")

MsgBox URL

Előző Előző     Tartalom     Tárgymutató     Következő Következő