Kann Eigenschaften eines Resultsets nicht ändern

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Kann Eigenschaften eines Resultsets nicht ändern

Re: Kann Eigenschaften eines Resultsets nicht ändern

von eBayer » Fr, 09.10.2009 11:59

Du mußt erst den Typ des Resultset definieren und dann Deine Abfrage starten.
Die fertig erstellte Abfrage, also das mit Daten gefüllte ResultSet kannst Du nach meinem Verständnis nicht verändern.... warum auch?
Du weißt ja vorher, was Du damit vor hast.
Warum machst Du das überhaupt auf diese Weise? Du kannst doch die Daten direkt mit einem SQL-Statement verändern (executeUpdate).
Denk übrigens auch mal darüber nach was ein "executeQuery" bedeutet..... es liegt bereits im Namen - "Abfrage"

bStatement=oConnection.createStatement() 'erzeuge Statements
aStatement=oConnection.createStatement()
aStatement.ResultSetConcurrency=com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE
aStatement.ResultSetType=com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE


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")

Gruß eBayer

Kann Eigenschaften eines Resultsets nicht ändern

von Teepoet » 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

*************************************

Nach oben