Recordset vers DOM - Java - Programmation
Marsh Posté le 30-10-2003 à 17:24:09
euh bin faut qd meme lui dire quoi correspond à quoi tu ne crois pas?
il fait comment pour établir la structure, il devine?
Marsh Posté le 31-10-2003 à 09:40:15
il lui faut simplement generer un truc au meme formatage que ta table SQL: ca peut etre code c vrai mais je suis sur qu'une fonction existe a la maniere de XML For IIS de Grosoft qui te genere un XML au format de tes donnees SQL les balises etant les noms des champs et les passages de records q l'autre .
Marsh Posté le 31-10-2003 à 09:52:29
et le format de la table SQL il l'a trouve comment?
Marsh Posté le 31-10-2003 à 10:30:49
ben tu sais dans un recordset il a tout:le nom des colonnes,le nombre de ligne et tout non ?
Marsh Posté le 31-10-2003 à 11:47:53
Chais pas.
Mais en effet, avec DAO (objet de M$) il y a la possibilité de lire/écrire directement en XML dans une base de données via les objets de connection.
Quel est ton SGBD ? Certains permettent dirrectement de générer du XML à partir d'une requête.
Sinon, bah t'as pas le choix, tu te fait une petite fonction qui fait ça. C'est pas compliqué à faire de toute façon )
Marsh Posté le 31-10-2003 à 14:40:28
Si tu es sous base Oracle, il existe un outil Oracle, XSU, qui je crois fait le même truc que XML for IIS. Dispo gratuitement (le xdk) sur le site d'Oracle
Marsh Posté le 31-10-2003 à 15:40:02
j'utilise sql 2000 qui fait XML for IIS mais fera t'il XML for Weblogic?
Marsh Posté le 31-10-2003 à 15:50:49
wlitw a écrit : Si tu es sous base Oracle, il existe un outil Oracle, XSU, qui je crois fait le même truc que XML for IIS. Dispo gratuitement (le xdk) sur le site d'Oracle |
As tu reussi a passer des parametres a ta feuille xsl ?
j'ai essayé avec la methode setXSLTParam, mais ca ne marche pas ... le but etant de passer une variable pour changer un comportement....
exemple : j'ai une table ville (avec chps nom), je requete pour avoir toutes les villes, mais je veux en mettre une en gras...
edit : je confirme, ces classes d'oracle permettent d'obtenir un fichier XML contenant le resultat de requete, avec parametrage de la feuille xsl pour le parsing, changer le nom de certain chps ...
Marsh Posté le 31-10-2003 à 16:04:36
Au fait peut on obtenir le nom d'une colonne d'un resultset a partir de don index?
Par exemple:
tu veux connaite le nom de la colonne 4:
donc du genre
String GetColumnName(int Col_Index)
Nom=GetColumnName(4)
Ca existe?
Marsh Posté le 31-10-2003 à 16:20:11
oui, tu recuperes d'abord le ResultSetMetaData:
res.getResultSetMetaData()
et apres, avec les meta datas, t'as tout ce que tu veux, noms de colonnes, types de donnees, etc...
Marsh Posté le 31-10-2003 à 16:30:35
au fait souk elle est ou getResultSetMetaData()? par ce que Jbuilder ne la reconnait pas avec Resultset res
Marsh Posté le 31-10-2003 à 16:37:04
la methode est peut etre differente, attends deux secondes
EDIT: grillaide, mais bon...c'est getMetaData()
Marsh Posté le 31-10-2003 à 19:49:32
PETOZAK a écrit : mais moi je bosse sur la daube SQL 2000 ;( |
cherche dans la doc avec ton cerveau daubé avant de dire que c'est de la merde.
select ..... for xml auto c'est pour les chiens ?
Marsh Posté le 03-11-2003 à 10:21:44
Je vois que l'on a un pourfendeur de la noble cause Grosoftienne :0)
tu peux etre un peu plus precis?
"for XML auto"?
Marsh Posté le 03-11-2003 à 11:48:14
au fait on ne peut pas connaitre le nombre de ligne d'un resultset?
Marsh Posté le 03-11-2003 à 12:14:16
"for XML auto" est une clause à indiquer à la fin de ta requête, ce qui te permet de non pas récupérer un recordset, mais une chaîne de caractères contenant tes données dans un flux XML structuré (et hiérachique lorsque tu as correctement écrit ta requête)
Sinon, normalement, si, un resultset devrait pouvoir te donner le nombre de lignes. Mais personnellement, je n'utilise jamais de resultset donc je ne connais pas le nom de la propriété.
Deplus, les drivers ODBC d'un grand nombre de SGBD ayant pas mal de bugs à ce niveau, M$ recommande de ne pas utiliser les raccourcis pour connaître le nombre de lignes d'un recordset.
En effet, par exemple, avec SQL Server 6.5, si tu fait un outer join, alors cette propriété sera systématiquement à -1
Idem avec Oracle si tu as des champs de type VARCHAR au lieu de VARCHAR2.
Donc récupère toutes les lignes et compte-les au fur et à mesure, ou alors ajoute un count(*) dans ta requête pour connaître le nombre exact de lignes.
Article sur le XML dans SQL Server : http://msdn.microsoft.com/library/ [...] 162001.asp
Ci-dessous la doc pour la clause FOR XML AUTO (y'a aussi FOR XML RAW et FOR XML EXPLICIT, mais sont plus complexes à utiliser, mais aussi plus puissantes)
http://msdn.microsoft.com/library/ [...] l_03xh.asp
Ci-dessous la doc pour utiliser cette fonctionnalité via ADO (et pour récupérer les données surtout, puisque ce n'est pas un RS ni un DS que tu reçois, mais une string)
http://msdn.microsoft.com/library/ [...] andxml.asp
PS: http://msdn.microsoft.com ne fait que contenir l'aide en ligne qui est fournie AVEC sql server. Fait un petit effort quand même et sers-toi de l'aide, surtout qu'elle est vraiment très bien foutue et extrêment complète... Elle pèse quand même 130 Mo de texte...
Marsh Posté le 03-11-2003 à 14:00:11
Merci MagicBuzz T vraiment symps d'avoir gratter autant de ligne
Marsh Posté le 30-10-2003 à 17:15:08
Salut
Existe t'il une methodequi permet de generer un DOM a partir d'un recordset?
merci