Mal'n Gedanke zu Base und Macros

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: Mal'n Gedanke zu Base und Macros

Re: Mal'n Gedanke zu Base und Macros

von komma4 » Mo, 29.10.2007 01:54

Bubi Meier hat geschrieben:"Mein Vater"
bei DEM Benutzernamen konnte ich mir die Anrede nicht verkneifen.
Ich hoffe natürlich, dass Du Deinen Vater kennst und ich nicht in Verdacht gerate.

Das Buch kenne ich nicht - und ich gestehe auch einem Autor zu sich mal zu vertun. Ist ärgerlich, wenn man danach programmiert, aber manchmal nicht zu vermeiden.


Jetzt aber ins Bett!

Re: Mal'n Gedanke zu Base und Macros

von Bubi Meier » Mo, 29.10.2007 01:13

komma4 hat geschrieben:"Mein Sohn",lese nochmal den zitierten Satz der Beschreibung.

"UPDATEABLE is not supported by Resultset"

Merke: ist so vorgesehen. Zum update ein RowSet verwenden.

Wenn es solche Stellen gibt, dann sind sie falsch (abgeschrieben).
"Mein Vater",

du hast recht, ich ahnte aus dem Zitat der SDK auch schon diese Konsequenz, allerdings fand ich mich zu unwürdig, dies so in dieser Klarheit auch zu formulieren.

Ich komme nun nicht umhin darauf hinzuweisen, dass in einem 'berühmten' Buch, welches in diesem Forum oft, man munkelt vom Autor, empfohlen wird, das Kapitel 8.3.3 nach deiner Erkenntniss komplett 'abgeschrieben' ist. Ich brauche nun wohl nicht darauf hinzuweisen, dass auch ich mir dieses Buch für 39,99 € gekauft habe. Daher mein anfängliches Zögern beim Anzweifeln dieser Erkenntniss.

Wie dem auch sei, Danke für den Hinweis. Man sollte nicht alles glauben, was in Büchern steht.

-bm

Re: Mal'n Gedanke zu Base und Macros

von komma4 » So, 28.10.2007 14:46

Bubi Meier hat geschrieben:Merkwürdig ist allerdings, dass das Erzeugen des ResultSets scheinbar nicht mit den Eigenschaften UPDATEABLE zu bewerkstelligen ist.
"Mein Sohn",
lese nochmal den zitierten Satz der Beschreibung.

"UPDATEABLE is not supported by Resultset"

Merke: ist so vorgesehen. Zum update ein RowSet verwenden.
Bubi Meier hat geschrieben:ResultSets mit ResultSetConcurrency = UPDATEABLE
Wenn es solche Stellen gibt, dann sind sie falsch (abgeschrieben).

Re: Mal'n Gedanke zu Base und Macros

von Bubi Meier » So, 28.10.2007 13:27

[quote="komma4"]Gut getippt:
Im SDK siehst Du, dass ResultSet ein "included service" von RowSet ist.

[...]

Naja, wie auch immer. RowSet hat also ResultSet 'geerbt'. Merkwürdig ist allerdings, dass das Erzeugen des ResultSets scheinbar nicht mit den Eigenschaften UPDATEABLE zu bewerkstelligen ist. Bei einem RowSet klappt das hingegen. Der Effekt ist hier bei mir auf WindowsXp genauso wie unter SuseLinux 10.1 festzustellen.

Hat hier überhaupt schon mal jemand sowas erfolgreich gemacht? Also klappt bei irgendjemandem das Erstellen von ResultSets mit ResultSetConcurrency = UPDATEABLE, oder ist das aus irgendeinem Grund so eine 'Legende', die in den entsprechenden Foren oder Büchern immer wieder 'abgeschrieben' wird?

bm

Re: Mal'n Gedanke zu Base und Macros

von komma4 » So, 28.10.2007 11:18

Gut getippt:
Im SDK siehst Du, dass ResultSet ein "included service" von RowSet ist.

Letzter Satz der Beschreibung:
service com.sun.star.sdbc.RowSet hat geschrieben:On the other hand, a rowset can be used to implement capabilties for a result set, which are not supported by a driver result set, like caching strategies or update capabilities.
[Hervorhebung durch mich]

Viel Spass beim Lesen :-)

Mal'n Gedanke zu Base und Macros

von Bubi Meier » So, 28.10.2007 04:16

Guten Tag, meine Damen und Herren

Ich ringe nun schon seit etwa zwei Tagen mit einem Problem, das hier scheinbar schon öfters diskutiert wurde. Es handelt sich um das Erstellen eines ResultSets aus einem DataSource, das dann UPDATEABLE bzw. SCROLL_SENSITIVE sein soll. So beispielsweise in

viewtopic.php?f=18&t=3181&p=12614&hilit ... ncy#p12614
viewtopic.php?f=18&t=12408&p=49372&hili ... ncy#p49372
viewtopic.php?f=8&t=12349&p=49176&hilit ... ncy#p49147
viewtopic.php?f=8&t=12349&p=49147&hilit ... ncy#p49147
viewtopic.php?f=18&t=6256&p=23708&hilit ... ncy#p23708

zu lesen.

Ich habe die hier beschriebenen Phänomene auch in gleicher Weise erfehren. Ein Schreiben der Eigenschaften
ResultSetConcurrency und ResultSetType führt nicht zum Erfolg. Merkwürdigerweise sind die Eigenschaften aber auch nicht READONLY, zumindest protestiert die Umgebung beim Schreiben nicht, was sonst bei READONLY Values der Fall, und auch sinnvoll, ist.
Dies stellt sich auf Windowssystemen ebenso wie auf Linuxbasierten System dar. Wenn jemand einen Mac und etwas Zeit hat , kann er ja mal gucken, ob dies auch da so ist. :))

Nun habe ich den 'offiziellen' OpenOffice 2.3 Developers Quide aus dem Hause Sun Microsystems (kann man da runterladen) mal etwas genauer beobachtet.

Wenn man den Datebankzugriff über ein 'RowSet' gestaltet, klappt alles so wie man sich das denkt. Das RowSet Object hat scheinbar viele (womöglich alle) Methoden und Eigenschaften, die ein ResultSet Object auch haben sollte. Womöglich ist ResultSet an RowSet vererbt, oder umgekehrt. Der Unterschied der beiden Objekte ist mir noch nicht ganz klar, vielleicht ist das aber auch nicht nötig.

Ein Beispielcode, den ich auch nur im oben erwähnten Werk abschrub, ist etwa:


[...]
RowSet = createUnoService("com.sun.star.sdb.RowSet")
RowSet.setPropertyValue("DataSourceName", "NatuerlichRad")
RowSet.setPropertyValue("CommandType", com.sun.star.sdb.CommandType.COMMAND)
RowSet.setPropertyValue("Command", "SELECT * FROM ""TKunden"" ""TKunden"" ORDER BY ""Nachname"" ASC")
RowSet.execute()
RowSet.MoveToInsertRow()
RowSet.UpdateString(RowSet.findcolumn("Vorname"), "Sepp")
RowSet.UpdateString(RowSet.findcolumn("Nachname"), "Meier")
RowSet.insertRow()
RowSet.close()
[...]

TKunden ist dabei so beschaffen, wie sich das wahrscheinlich alle denken.
RowSets sind scheinbar per default UPDATEABLE bzw. SCROLL_SENSITIVE.

bm

Nach oben