
FAQ JDBCConsultez toutes les FAQ
Nombre d'auteurs : 8, nombre de questions : 162, derni�re mise � jour : 3 juin 2015 Ajouter une question
Cette FAQ a �t� r�alis�e � partir des questions fr�quemment pos�es sur les forums de http://www.developpez.com et de l'exp�rience personnelle des auteurs.
Nous tenons � souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne pr�tend pas non plus �tre compl�te. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant r�dacteur, lisez ceci.
Les WebRowSet peuvent �crire leurs donn�es, m�tadonn�es et propri�t�s sous forme de fichiers XML. De m�me, ils peuvent se peupler � partir d'un tel fichier. Les m�thodes employ�es sont naturellement susceptibles de lever des IOException, en plus des SQLException.
�criture
Code java : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | WebRowSet rowset = new WebRowSetImpl(); //mise en place des propri�t�s et peuplement FileWriter writer = null; try{ File destination = ... ; writer = new FileWriter(destination); rowset.writeXml(writer); }catch(IOException ioe){ //etc. }catch(SQLException sqle){ //etc. } finally{ if(writer!=null){try{writer.close();}catch(Exception e){}} } |
Code java : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | WebRowSet rowset =new WebRowSetImpl(); FileReader reader = null; try{ File source = ...; rowset.readXml(source); }catch(IOException ioe){ //etc. }catch(SQLException sqle){ //etc. } finally{ if(reader!=null){try{reader.close();}catch(Exception e){}} } |
Un des avantages de WebRowSet est le fait que l'on n'est pas limit� � l'�criture ou � la lecture de fichiers. WebRowSet est capable d'�crire (ou de lire) sur n'importe quel type de flux. Cette capacit� peut �tre particuli�rement utile dans les applications web. Voici l'exemple d'une servlet :
Code java : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | Class.forName("com.mysql.jdbc.Driver"); //r�cup�ration des param�tres de la requ�te String url = request.getParameter("url"); String username = request.getParameter("username"); String password = request.getParameter("password"); String command = request.getParameter("command"); //cr�ation et ex�cution du RowSet WebRowSet rowset = new WebRowSetImpl(); rowset.setUrl(url); rowset.setUsername(username); rowset.setPassword(password); rowset.setCommand(command); rowset.execute(); //�criture de la r�ponse response.setContentType("text/xml"); PrintWriter out = response.getWriter(); //rajout d'une �ventuelle feuille de style out.println("<?xml:stylesheet type=\"text/xsl\" href=\"simple.xsl\"?>"); //�criture du rowset rowset.writeXml(out); out.close(); |
Les fichiers XML correspondant aux WebRowSet ont pour racine un n�ud WebRowSet. Celui-ci contient trois types de n�uds, qui repr�sentent respectivement les propri�t�s, les m�tadonn�es et les donn�es du WebRowSet.
Structure g�n�rale :
Code xml : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?xml version="1.0"?> <webRowSet xmlns="http://java.sun.com/xml/ns/jdbc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/jdbc http://java.sun.com/xml/ns/jdbc/webrowset.xsd"> <properties> <!-- Contient les propri�t�s du WebRowSet --> </properties> <metadata> <!-- Contient les m�tadonn�es du WebRowSet --> </metadata> <data> <!-- Contient les donn�es du WebRowSet --> </data> </webRowSet> |
Code xml : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <properties> <command>SELECT * FROM TestWebRowSet</command> <concurrency>1008</concurrency> <datasource><null/></datasource> <escape-processing>true</escape-processing> <fetch-direction>1000</fetch-direction> <fetch-size>0</fetch-size> <isolation-level>2</isolation-level> <key-columns></key-columns> <map></map> <max-field-size>0</max-field-size> <max-rows>0</max-rows> <query-timeout>0</query-timeout> <read-only>true</read-only> <rowset-type>ResultSet.TYPE_SCROLL_INSENSITIVE</rowset-type> <show-deleted>false</show-deleted> <table-name>TestWebRowSet</table-name> <url>jdbc:mysql://localhost/JDBC</url> <sync-provider> <sync-provider-name>com.sun.rowset.providers.RIOptimisticProvider</sync-provider-name> <sync-provider-vendor>Sun Microsystems Inc.</sync-provider-vendor> <sync-provider-version>1.0</sync-provider-version> <sync-provider-grade>2</sync-provider-grade> <data-source-lock>1</data-source-lock> </sync-provider> </properties> |
Structure des m�tadonn�es :
Code xml : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 | <metadata> <column-count>4</column-count> <column-definition> <!-- Informations sur la premi�re colonne --> </column-definition> <column-definition> <!-- Informations sur la deuxi�me colonne --> </column-definition> <!-- etc. --> </metadata> |
Code xml : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <column-index>2</column-index> <auto-increment>false</auto-increment> <case-sensitive>true</case-sensitive> <currency>false</currency> <nullable>1</nullable> <signed>true</signed> <searchable>true</searchable> <column-display-size>7</column-display-size> <column-label>unDecimal</column-label> <column-name>unDecimal</column-name> <schema-name></schema-name> <column-precision>5</column-precision> <column-scale>2</column-scale> <table-name>TestWebRowSet</table-name> <catalog-name></catalog-name> <column-type>3</column-type> <column-type-name>DECIMAL</column-type-name> |
Code xml : | S�lectionner tout |
1 2 3 4 5 6 7 8 9 10 | <currentRow> <columnValue>1</columnValue> <columnValue>0.01</columnValue> <columnValue>chaine 0</columnValue> <columnValue>1088200800000</columnValue> </currentRow> <currentRow> <!-- donn�es de la deuxi�me ligne --> </currentRow> <!-- etc. pour chaque ligne du WebRowSet --> |
Code xml : | S�lectionner tout |
1 2 3 4 5 6 | <insertRow></insertRow> <modifyRow> <columnValue>valeurInitiale</columnValue> <updateValue>valeurModifiee</updatevalue> </modifyRow> <deleteRow></deleteRow> |
Proposer une nouvelle r�ponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plut�t sur le forum de la rubrique pour �aLes sources pr�sent�es sur cette page sont libres de droits et vous pouvez les utiliser � votre convenance. Par contre, la page de pr�sentation constitue une �uvre intellectuelle prot�g�e par les droits d'auteur. Copyright � 2025 Developpez Developpez LLC. Tous droits r�serv�s Developpez LLC. Aucune reproduction, m�me partielle, ne peut �tre faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'� trois ans de prison et jusqu'� 300 000 � de dommages et int�r�ts.