Difference between revisions of "NL/Documentation/BASIC Guide/Data Sources"
(2 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
{{DISPLAYTITLE:Gegevensbronnen}} | {{DISPLAYTITLE:Gegevensbronnen}} | ||
− | Een database kan worden opgenomen in {{ | + | Een database kan worden opgenomen in {{AOo}} door een, waar in het algemeen naar wordt verwezen als een gegevensbron, te maken. De gebruikers-interface verschaft een overeenkomende optie voor het maken van Gegevensbronnen in het menu Extra. U kunt echter ook gegevensbronnen maken en daarmee werken met behulp van {{AOo}} BASIC. |
Een database context-object dat is gemaakt met behulp van de functie <tt>createUnoService</tt> dient als het startpunt voor toegang tot een gegevensbron. Dit is gebaseerd op de service <idl>com.sun.star.sdb.DatabaseContext</idl> en is het basisobject voor alle bewerkingen van de database. | Een database context-object dat is gemaakt met behulp van de functie <tt>createUnoService</tt> dient als het startpunt voor toegang tot een gegevensbron. Dit is gebaseerd op de service <idl>com.sun.star.sdb.DatabaseContext</idl> en is het basisobject voor alle bewerkingen van de database. | ||
Line 15: | Line 15: | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim DatabaseContext As Object | Dim DatabaseContext As Object | ||
Dim Namen | Dim Namen | ||
Line 27: | Line 27: | ||
MsgBox Namen(I) | MsgBox Namen(I) | ||
Next I | Next I | ||
− | </ | + | </syntaxhighlight> |
De individuele gegevensbronnen zijn gebaseerd op de service <idl>com.sun.star.sdb.DataSource</idl> en kunnen worden bepaald vanuit de databasecontext met behulp van de methode <tt>getByName</tt>: | De individuele gegevensbronnen zijn gebaseerd op de service <idl>com.sun.star.sdb.DataSource</idl> en kunnen worden bepaald vanuit de databasecontext met behulp van de methode <tt>getByName</tt>: | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim DatabaseContext As Object | Dim DatabaseContext As Object | ||
Dim GegevensBron As Object | Dim GegevensBron As Object | ||
Line 37: | Line 37: | ||
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") | DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") | ||
GegevensBron = DatabaseContext.getByName("Klanten") | GegevensBron = DatabaseContext.getByName("Klanten") | ||
− | </ | + | </syntaxhighlight> |
Het voorbeeld maakt een object <tt>DataSource</tt> voor een gegevensbron, genaamd '''Klanten'''. | Het voorbeeld maakt een object <tt>DataSource</tt> voor een gegevensbron, genaamd '''Klanten'''. | ||
− | Gegevensbronnen verschaffen een scala aan eigenschappen, welke op hun beurt algemene informatie verschaffen over de oorsprong van de gegevens en informatie over hun methoden van | + | Gegevensbronnen verschaffen een scala aan eigenschappen, welke op hun beurt algemene informatie verschaffen over de oorsprong van de gegevens en informatie over hun methoden van toegang. De eigenschappen zijn: |
;<tt>Name (String)</tt>:naam van de gegevensbron | ;<tt>Name (String)</tt>:naam van de gegevensbron | ||
;<tt>URL (String)</tt>:URL van de gegevensbron in de vorm van '''jdbc: subprotocol : subnaam''' of '''sdbc: subprotocol : subnaam''' | ;<tt>URL (String)</tt>:URL van de gegevensbron in de vorm van '''jdbc: subprotocol : subnaam''' of '''sdbc: subprotocol : subnaam''' | ||
− | ;<tt>Settings (Array)</tt>:array die paren van <tt>PropertyValue</tt> bevat met parameters voor de verbinding (gewoonlijk | + | ;<tt>Settings (Array)</tt>:array die paren van <tt>PropertyValue</tt> bevat met parameters voor de verbinding (gewoonlijk tenminste gebruikersnaam en wachtwoord) |
;<tt>User (String)</tt>:gebruikersnaam | ;<tt>User (String)</tt>:gebruikersnaam | ||
;<tt>Password (String)</tt>:wachtwoord van gebruiker (wordt niet opgeslagen) | ;<tt>Password (String)</tt>:wachtwoord van gebruiker (wordt niet opgeslagen) | ||
Line 55: | Line 55: | ||
;<tt>SuppressVersionColumns (Boolean)</tt>:onderdrukt de weergave van kolommen die worden gebruikt voor versiebeheer | ;<tt>SuppressVersionColumns (Boolean)</tt>:onderdrukt de weergave van kolommen die worden gebruikt voor versiebeheer | ||
− | {{ | + | {{Note|De gegevensbronnen van {{AOo}} zijn niet 1:1 te vergelijken met gegevensbronnen in ODBC. Waar een gegevensbron in ODBC alleen informatie behandelt over de origine van de gegevens, bevat een gegevensbron in {{AOo}} ook een scala aan informatie over hoe de gegevens worden weergegeven binnen de vensters van de database van {{AOo}}.}} |
== Query's == | == Query's == | ||
− | Vooraf gedefinieerde bevragingen (query's) kunnen worden toegewezen aan gegevensbronnen. {{ | + | Vooraf gedefinieerde bevragingen (query's) kunnen worden toegewezen aan gegevensbronnen. {{AOo}} noteert de opdrachten in SQL van query's zodat zij altijd beschikbaar zijn. Query's worden gebruikt om het werken met gegevensbronnen te vereenvoudigen omdat zij kunnen worden geopend met één simpele muisklik en verschaffen gebruikers zonder enige kennis van SQL de optie van het gebruik van opdrachten. |
Een object dat de service <idl>com.sun.star.sdb.QueryDefinition</idl> ondersteunt is verborgen achter een query. De query's worden toegankelijk gemaakt door middel van de methode <tt>QueryDefinitions</tt> van de gegevensbron. | Een object dat de service <idl>com.sun.star.sdb.QueryDefinition</idl> ondersteunt is verborgen achter een query. De query's worden toegankelijk gemaakt door middel van de methode <tt>QueryDefinitions</tt> van de gegevensbron. | ||
Line 65: | Line 65: | ||
Het volgende voorbeeld somt de namen van de query's van de gegevensbron, die kunnen worden vastgesteld, op in een berichtenvenster. | Het volgende voorbeeld somt de namen van de query's van de gegevensbron, die kunnen worden vastgesteld, op in een berichtenvenster. | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim DatabaseContext As Object | Dim DatabaseContext As Object | ||
Dim GegevensBron As Object | Dim GegevensBron As Object | ||
Line 80: | Line 80: | ||
MsgBox QueryDefinitie.Name | MsgBox QueryDefinitie.Name | ||
Next I | Next I | ||
− | </ | + | </syntaxhighlight> |
In aanvulling op de eigenschap Name, gebruikt in het voorbeeld, verschaft de <idl>com.sun.star.sdb.QueryDefinition</idl> een heel scala aan andere eigenschappen. Deze zijn: | In aanvulling op de eigenschap Name, gebruikt in het voorbeeld, verschaft de <idl>com.sun.star.sdb.QueryDefinition</idl> een heel scala aan andere eigenschappen. Deze zijn: | ||
Line 89: | Line 89: | ||
Het volgende voorbeeld toont hoe een object query kan worden gemaakt op een programma-gecontroleerde manier en kan worden toegewezen aan een gegevensbron. | Het volgende voorbeeld toont hoe een object query kan worden gemaakt op een programma-gecontroleerde manier en kan worden toegewezen aan een gegevensbron. | ||
− | < | + | <syntaxhighlight lang="oobas"> |
Dim DatabaseContext As Object | Dim DatabaseContext As Object | ||
Dim GegevensBron As Object | Dim GegevensBron As Object | ||
Line 102: | Line 102: | ||
QueryDefinitie.Command = "SELECT * FROM Klanten" | QueryDefinitie.Command = "SELECT * FROM Klanten" | ||
QueryDefinities.insertByName("NieuweQuery", QueryDefinitie) | QueryDefinities.insertByName("NieuweQuery", QueryDefinitie) | ||
− | </ | + | </syntaxhighlight> |
Het object query wordt eerst gemaakt met behulp van de aanroep <tt>createUnoService</tt>, dan geïnitialiseerd, en dan ingevoegd in het object <tt>QueryDefinities</tt> door middel van <tt>insertByName</tt>. | Het object query wordt eerst gemaakt met behulp van de aanroep <tt>createUnoService</tt>, dan geïnitialiseerd, en dan ingevoegd in het object <tt>QueryDefinities</tt> door middel van <tt>insertByName</tt>. |
Latest revision as of 14:43, 10 February 2021
- SQL: een Query-taal
- Typen toegang tot database
- Gegevensbronnen
- Toegang tot database
Een database kan worden opgenomen in Apache OpenOffice door een, waar in het algemeen naar wordt verwezen als een gegevensbron, te maken. De gebruikers-interface verschaft een overeenkomende optie voor het maken van Gegevensbronnen in het menu Extra. U kunt echter ook gegevensbronnen maken en daarmee werken met behulp van Apache OpenOffice BASIC.
Een database context-object dat is gemaakt met behulp van de functie createUnoService dient als het startpunt voor toegang tot een gegevensbron. Dit is gebaseerd op de service com.sun.star.sdb.DatabaseContext en is het basisobject voor alle bewerkingen van de database.
Het volgende voorbeeld toont hoe een databasecontext kan worden gemaakt en dan worden gebruikt om te bepalen of alle gegevensbronnen beschikbaar zijn. Het geeft de namen weer in een berichten-venster.
Dim DatabaseContext As Object Dim Namen Dim I As Integer DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") Namen = DatabaseContext.getElementNames() For I = 0 To UBound(Namen()) MsgBox Namen(I) Next I
De individuele gegevensbronnen zijn gebaseerd op de service com.sun.star.sdb.DataSource en kunnen worden bepaald vanuit de databasecontext met behulp van de methode getByName:
Dim DatabaseContext As Object Dim GegevensBron As Object DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") GegevensBron = DatabaseContext.getByName("Klanten")
Het voorbeeld maakt een object DataSource voor een gegevensbron, genaamd Klanten.
Gegevensbronnen verschaffen een scala aan eigenschappen, welke op hun beurt algemene informatie verschaffen over de oorsprong van de gegevens en informatie over hun methoden van toegang. De eigenschappen zijn:
- Name (String)
- naam van de gegevensbron
- URL (String)
- URL van de gegevensbron in de vorm van jdbc: subprotocol : subnaam of sdbc: subprotocol : subnaam
- Settings (Array)
- array die paren van PropertyValue bevat met parameters voor de verbinding (gewoonlijk tenminste gebruikersnaam en wachtwoord)
- User (String)
- gebruikersnaam
- Password (String)
- wachtwoord van gebruiker (wordt niet opgeslagen)
- IsPasswordRequired (Boolean)
- het wachtwoord is nodig en wordt interactief vereist van de gebruiker
- IsReadOnly (Boolean)
- staat alleen-lezen toegang tot de database toe
- NumberFormatsSupplier (Object)
- object dat de getalopmaak, beschikbaar voor de database, bevat (ondersteunt de interface com.sun.star.util.XNumberFormatsSupplier)
- TableFilter (Array)
- lijst van tabelnamen die moet worden weergegeven
- TableTypeFilter (Array)
- lijst van tabeltypen die moet worden weergegeven. Beschikbare waarden zijn TABLE, VIEW en SYSTEM TABLE
- SuppressVersionColumns (Boolean)
- onderdrukt de weergave van kolommen die worden gebruikt voor versiebeheer
Query's
Vooraf gedefinieerde bevragingen (query's) kunnen worden toegewezen aan gegevensbronnen. Apache OpenOffice noteert de opdrachten in SQL van query's zodat zij altijd beschikbaar zijn. Query's worden gebruikt om het werken met gegevensbronnen te vereenvoudigen omdat zij kunnen worden geopend met één simpele muisklik en verschaffen gebruikers zonder enige kennis van SQL de optie van het gebruik van opdrachten.
Een object dat de service com.sun.star.sdb.QueryDefinition ondersteunt is verborgen achter een query. De query's worden toegankelijk gemaakt door middel van de methode QueryDefinitions van de gegevensbron.
Het volgende voorbeeld somt de namen van de query's van de gegevensbron, die kunnen worden vastgesteld, op in een berichtenvenster.
Dim DatabaseContext As Object Dim GegevensBron As Object Dim QueryDefinities As Object Dim QueryDefinitie As Object Dim I As Integer DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") GegevensBron = DatabaseContext.getByName("Klanten") QueryDefinities = GegevensBron.getQueryDefinitions() For I = 0 To QueryDefinities.Count() - 1 QueryDefinitie = QueryDefinities(I) MsgBox QueryDefinitie.Name Next I
In aanvulling op de eigenschap Name, gebruikt in het voorbeeld, verschaft de com.sun.star.sdb.QueryDefinition een heel scala aan andere eigenschappen. Deze zijn:
- Name (String)
- naam van de query
- Command (String)
- opdracht in SQL (meestal een opdracht SELECT)
Het volgende voorbeeld toont hoe een object query kan worden gemaakt op een programma-gecontroleerde manier en kan worden toegewezen aan een gegevensbron.
Dim DatabaseContext As Object Dim GegevensBron As Object Dim QueryDefinities As Object Dim QueryDefinitie As Object Dim I As Integer DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") GegevensBron = DatabaseContext.getByName("Klanten") QueryDefinities = GegevensBron.getQueryDefinitions() QueryDefinitie = createUnoService("com.sun.star.sdb.QueryDefinition") QueryDefinitie.Command = "SELECT * FROM Klanten" QueryDefinities.insertByName("NieuweQuery", QueryDefinitie)
Het object query wordt eerst gemaakt met behulp van de aanroep createUnoService, dan geïnitialiseerd, en dan ingevoegd in het object QueryDefinities door middel van insertByName.
Content on this page is licensed under the Public Documentation License (PDL). |