Hi Gerhard,Mein Problem war, dass das rowset mit dem prepare scheinbar nichts angefangen kann und
als command den SQL-Befehl mit Platzhalter auszuführen scheint. Wenn ich anstelle des Platzhalters
einen festen Wert eingefügt habe, hat er sich wie gewünscht verhalten. Auf die Idee, einfach
mitmeinen SQL-Befehl zu bauen, war ich noch nicht gekommen. Danke!Viele Grüße Stefan--Diese
Nachricht wurde von meinem Android Mobiltelefon mitWEB.DEMail gesendet.
Am 25.12.20, 19:25 schrieb Gerhard Weydtgerhard.weydt@t-online.de:Hallo Stefan, was stellst du dir
denn vor, was noch einfacher sein sollte als das in deinem Beispiel verwendete Vorgehen? Ich wüsste
nur noch die Möglichkeit, den SQL-Befehl per Code zusammenzusetzen, also etwas wie:stSQLRowSet =
"SELECT * FROM ""tab_Sub_Kat_1"" WHERE""Sub_Kat_Fremd_ID"" = "deineVariabeFürDieIdwobei dann
natürlich kein Prepare mehr nötig ist.Das ist kürzer zu schreiben, wenn du das nur einmal (oder
wenige Male) brauchst, wenn die SQL-Anweisung in einer Schleife öfters mit unterschiedlichen IDs
ausgeführt wird, ist die Variante mit Prepare effektiver. Viele GrüßeGerhard Am 25.12.2020 um 16:04
schrieb Stefan Deutsch:Hallo zusammen,ich hab mal wieder ein kleines Problem, bei dem ich nicht
weiter komme.Ich möchte in meinem Makro unten dem erstellten UnoService RowSet einCommand
übergeben, dass mit Platzhaltern ausgestattet ist, die ichvorher befülle. Geht das überhaupt? Oder
geht nur der Weg, der imHandbuch S. 431 für das Arbeiten mit Platzhaltern beschrieben ist?Sub
SubKat1_loeschenREM Verbindung zum FormularoForm
=thisComponent.drawpage.forms.getByName("frm_Kategorie").getByName("frm_Subkategorie1") oConnection
= oForm.activeConnection()stDataSourceName = ThisDatabaseDocument.TitlestDataSourceName =
Left(stDataSourceName, len(stDataSourceName)-4)iRow =
oForm.getByName("tabCtrl_SubKat1").RowSet.getRowotxtField
=oForm.parent.getByName("tabCtrl_Kategorie").getByName("txtField_KatID")iEintrag =
otxtField.getCurrentValue()REM SQL-Befehl vorbereitenstSQLRowSet = "SELECT * FROM ""tab_Sub_Kat_1""
WHERE""Sub_Kat_Fremd_ID"" = ?"oSQLRowSet =
oConnection.prepareStatement(stSQLRowSet)oSQLRowSet.setInt(1, iEintrag)REM RowSet-Objekt
erstellenoRowSet = createUnoService("com.sun.star.sdbc.RowSet")with oRowSet.DataSourceName =
stDataSourceName.Command = stSQLRowSet.ResultSetConcurrency
=com.sun.star.sdbc.ResultSetConcurrency.UPDATABLE.ResultSetType =
com.sun.star.sdbc.ResultSetType.SCROLL_SENSITIVE.execute()End WithREM Löschen der
ZeileoRowSet.absolute(iRow)oRowSet.deleteRowoForm.reloadEnd SubViele Grüße und frohe Weihnachten
euch allen!Stefan Deutsch -- Liste abmelden mit E-Mail an:
users+unsubscribe@de.libreoffice.orgProbleme?https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/Tipps
zu
Listenmails:https://wiki.documentfoundation.org/Netiquette/de=Listenarchiv:https://listarchives.libreoffice.org/de/users/Datenschutzerklärung:https://www.documentfoundation.org/privacy
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
- Aw: Re: [de-users] Frage zu Verwendung von vorbereiteten Abfragen in UnoService RowSet · Stefan Deutsch
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.