4 messages in org.openoffice.fr.progméthode executeQuery() renvoie une er...
FromSent OnAttachments
NicolasAug 18, 2006 2:47 am 
Bernard MarcellyAug 18, 2006 9:59 am 
Louis VidonneAug 19, 2006 6:23 am 
nicolasAug 19, 2006 7:47 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:méthode executeQuery() renvoie une erreurActions...
From:Nicolas (itki@wanadoo.fr)
Date:Aug 18, 2006 2:47:04 am
List:org.openoffice.fr.prog

Bonjour,

J'ai un sérieu probleme avec la méthode executeQuery() qui ne semble pas fonctionner, je ne comprends pas pourquoi.

L'instruction SQL n’est pas (ou mal) comprise par Basic. Le message d’erreur renvoie que la table est introuvable alors qu'elle existe bel et bien . Par ailleurs la requete fonctionne avec un Rowset ou lorsque elle est définie manuellement dans une requete enregistrée sous OOoBase.

Voici le message d'erreur que me retourne OBasic

Runtime error basic Une exetion s’est produite Type com.sun.star.sdbc.SQLExeption Message : Table not found in statement [SELECT Nom FROM TabCV]

Je suis égelement à la recherche de la syntaxe SQL alternative au guillemet double, afin de pouvoir appeller des champs comportant des espaces dans une requete SQL insérée dans un programme basic (toujours via la méthode executeQuery, si j'arrive a la faire fonctionner)

Voici mon codage, basé sur les exemples extraits du livre de Bernard marcelly "Programmation Openoffice.org 2"

Option Explicit

Sub LireResultatRequeteSQL() dim maRequete As Object, resuQuery As Object dim instrSQL As String, monSignet As Variant dim execOK As Boolean, info As String, cr As String cr = chr(13)

ConnecterSource

instrSQL = "SELECT Nom FROM TabCV"

maRequete = maConnexion.createStatement()

resuQuery = maRequete.executeQuery(instrSQL) '<= message d'erreur ici

...

end sub

Sub ConnecterSource() Dim NomSource As String, login As String, password As String Dim maSource As Object, monDbContext As Object 'Création du contexte NomSource = "NBASEtest" monDbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext") maSource=monDbContext.getByName(NomSource) login = "" password = "" maConnexion = maSource.getConnection(login, password)

if IsNull(maConnexion) then MsgBox("Connexion impossible", 16) else print "connexion à la base " & NomSource end if End Sub