Kann Eigenschaften eines Resultsets nicht ändern
Verfasst: Fr, 09.10.2009 09:32
Hallo,
habe nach intensivem Studium eines OOBasic-Buches keine Lösung für mein Problem.
Ich erstelle in einem Basic-Modul, das in einem Base-Formular aufgerufen wird ein Statement-Objekt und ein Resultset.
Nun möchte ich die Eigenschaft ResultsetCurrency auf UPDATABLE
und die Eigenschaft ResultSetType auf SCROLL_SENSITIVE stellen
Dies funktioniert beim übergeordneten Statement-Objekt, wenn ich dies aber beim REsultset mache, kommt folgende Fehlermeldung bei der Ausführung des Makros: "Leseproblem: Eigenschaft ist schreibgeschützt"
Habe im Dev-Forum von OOffice eine Artikel gefunden, wo jemand dasselbe Problem beschreibt. Aber es kann doch nicht sein, dass man in Basic ein ResultSet nicht verändern kann. Oder hab ich was übersehen?
Hier ein Auszug aus meinem Code:
Dim Odbcontext as Object
Dim Odatasource as Object
Dim Stabelle as Object
Dim oConnection as Object
Dim Schlagwortfeld as Object
Dim AbfrageListe as Object
Dim aStatement as Object
Dim bStatement as Object
Dim HauptTabelle as Object
Odbcontext=createUnoService("com.sun.star.sdb.DatabaseContext")
Odatasource=Odbcontext.getByName("FritzHerbstInventar")
STabelle=Odatasource.tables.getByName("SchlagwortListe")
HauptTabelle=Odatasource.tables.getByName("HauptInfos")
oConnection=Odatasource.GetConnection("","")
bStatement=oConnection.createStatement() 'erzeuge Statements
aStatement=oConnection.createStatement()
AbfrageListe=aStatement.executeQuery("Select ""Schlagwort"" FROM ""SchlagwortListe""")
Schlagwortfeld=bStatement.executeQuery("Select * FROM ""HauptInfos""")'wähle nur das, wo Sign gleich ist
Spaltennummer=Schlagwortfeld.findColumn("Schlagworte")
aStatement.ResultSetConcurrency=com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
aStatement.ResultSetType=com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
Msgbox "Schreibgeschützt Statement:" & aStatement.ResultSetConcurrency & "Typ Statement:" &aStatement.ResultSetType
AbfrageListe.ResultSetConcurrency=com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
AbfrageListe.ResultSetType=com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
Msgbox "Schreibgeschützt Results:" & AbfrageListe.ResultSetConcurrency & "Typ Resultset:" &AbfrageListe.ResultSetType
*************************************
habe nach intensivem Studium eines OOBasic-Buches keine Lösung für mein Problem.
Ich erstelle in einem Basic-Modul, das in einem Base-Formular aufgerufen wird ein Statement-Objekt und ein Resultset.
Nun möchte ich die Eigenschaft ResultsetCurrency auf UPDATABLE
und die Eigenschaft ResultSetType auf SCROLL_SENSITIVE stellen
Dies funktioniert beim übergeordneten Statement-Objekt, wenn ich dies aber beim REsultset mache, kommt folgende Fehlermeldung bei der Ausführung des Makros: "Leseproblem: Eigenschaft ist schreibgeschützt"
Habe im Dev-Forum von OOffice eine Artikel gefunden, wo jemand dasselbe Problem beschreibt. Aber es kann doch nicht sein, dass man in Basic ein ResultSet nicht verändern kann. Oder hab ich was übersehen?
Hier ein Auszug aus meinem Code:
Dim Odbcontext as Object
Dim Odatasource as Object
Dim Stabelle as Object
Dim oConnection as Object
Dim Schlagwortfeld as Object
Dim AbfrageListe as Object
Dim aStatement as Object
Dim bStatement as Object
Dim HauptTabelle as Object
Odbcontext=createUnoService("com.sun.star.sdb.DatabaseContext")
Odatasource=Odbcontext.getByName("FritzHerbstInventar")
STabelle=Odatasource.tables.getByName("SchlagwortListe")
HauptTabelle=Odatasource.tables.getByName("HauptInfos")
oConnection=Odatasource.GetConnection("","")
bStatement=oConnection.createStatement() 'erzeuge Statements
aStatement=oConnection.createStatement()
AbfrageListe=aStatement.executeQuery("Select ""Schlagwort"" FROM ""SchlagwortListe""")
Schlagwortfeld=bStatement.executeQuery("Select * FROM ""HauptInfos""")'wähle nur das, wo Sign gleich ist
Spaltennummer=Schlagwortfeld.findColumn("Schlagworte")
aStatement.ResultSetConcurrency=com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
aStatement.ResultSetType=com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
Msgbox "Schreibgeschützt Statement:" & aStatement.ResultSetConcurrency & "Typ Statement:" &aStatement.ResultSetType
AbfrageListe.ResultSetConcurrency=com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
AbfrageListe.ResultSetType=com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE
Msgbox "Schreibgeschützt Results:" & AbfrageListe.ResultSetConcurrency & "Typ Resultset:" &AbfrageListe.ResultSetType
*************************************