

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
2 messages in org.openoffice.fr.progRe: [prog] Objet RowSet vs ResultSet| From | Sent On | Attachments |
|---|---|---|
| Thibault Vataire | Jul 31, 2009 2:47 am | |
| François Breizh | Jul 31, 2009 4:37 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] Objet RowSet vs ResultSet | Actions... |
|---|---|---|
| From: | Thibault Vataire (tvat...@starxpert.fr) | |
| Date: | Jul 31, 2009 2:47:45 am | |
| List: | org.openoffice.fr.prog | |
Bonjour,
Voici un exemple de mise à jour d'une table à partir d'un RowSet :
sub testRowset()
dim rowSet as object
rowSet = createUnoService("com.sun.star.sdb.RowSet") rowSet.DataSourceName = "fournisseurs_fruits" rowSet.commandType = com.sun.star.sdb.CommandType.COMMAND rowSet.command = "SELECT * FROM soc_prod" rowSet.execute() rowSet.moveToInsertRow() rowSet.updateString(rowSet.findColumn("id_societe"), 6) rowSet.updateString(rowSet.findColumn("id_produit"), 3) rowSet.insertRow()
end sub
Je me suis inspiré d'un exemple en Java du Developer's Guide trouvé à cette
adresse :
Cordialement,
T. Vataire.
----- Mail Original ----- De: "François Breizh" <fran...@orange.fr> À: pr...@fr.openoffice.org Envoyé: Jeudi 23 Juillet 2009 18:42:47 Objet: [prog] Objet RowSet vs ResultSet
Bonjour, je m'exerce à la programmation de macros accédant à une base de données Base. Dans le cas actuel j'ai une base qui contient deux tables "Documents" et "Auteurs" ; un attribut de la table Documents pointe vers un article de la table Auteurs. pour mettre à jour la tables des documents en ajoutant le nom d'un nouvel auteur, j'ai essayé les deux procédures suivantes :
' Statement.executeUpdate("INSERT INTO ""Auteurs"" (""Nom"") VALUES ('" & sNomAuteur & "')") ' ResultSet = Statement.executeQuery("SELECT ""ID_Auteur"" FROM ""Auteurs"" WHERE ""Nom""='" & sNomAuteur & "'") ' ResultSet.Next ' Pointeur = ResultSet.getInt(1) ' RowSetDocuments.updateInt(4, Pointeur) ' RowSetDocuments.updateRow() '.......................................... RowSetAuteurs.insertRow ' /Erreur : Function sequence error/ RowSetAuteurs.moveToInsertRow RowSetAuteurs.refreshRow RowSetAuteurs.updateString(2,sNomAuteur) RowSetAuteurs.updateRow RowSetDocuments.updateInt(4, RowSetAuteurs.getInt(1)) RowSetDocuments.updateRow()
La première méthode, commentée, fonctionne, il est donc possible d'ajouter une ligne à la table Auteurs ; la seconde méthode échoue avec le message d'erreur "Function sequence error" dès la première ligne. Je n'arrive pas à trouver de développement sur cette erreur, ni comment insérer proprement une nouvelle ligne avec un objet RowSet. J'utilise OpenOffice 3.0.1 et Ubuntu 9.04







