<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.pabloprieto.net/index.php/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>Pablo Prieto - Blog - sqlite</title>
  <link>http://blog.pabloprieto.net/index.php/</link>
  <description>&quot;Faire des sites web c'est pas facile tous les jours&quot;</description>
  <language>fr</language>
  <pubDate>Sun, 09 Nov 2008 05:45:06 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Une classe pour manipuler une base de données dans AIR</title>
    <link>http://blog.pabloprieto.net/index.php/post/2007/10/04/Une-classe-pour-manipuler-une-base-de-donnees-dans-AIR</link>
    <guid isPermaLink="false">urn:md5:178e07647e55bfde8fd45b7e43f73f5c</guid>
    <pubDate>Thu, 04 Oct 2007 14:32:00 +0200</pubDate>
    <dc:creator>Pab.</dc:creator>
        <category>Actionscript/Flash/Flex</category>
        <category>actionscript</category><category>air</category><category>flex</category><category>sqlite</category><category>sqlitemanager</category>    
    <description>&lt;p&gt;Je viens d'écrire une petite classe assez simple pour faciliter la manipulation d'une base de données SQLLite dans une application &lt;a href=&quot;http://labs.adobe.com/technologies/air/&quot; hreflang=&quot;en&quot;&gt;AIR&lt;/a&gt;. Cette classe fonctionne comme une couche d'abstraction entre l'application et la base de données.&lt;/p&gt;


&lt;p&gt;La classe peut être &lt;a href=&quot;http://blog.pabloprieto.net/public/SQLiteManager.zip&quot; hreflang=&quot;fr&quot;&gt;téléchargée ici&lt;/a&gt;, sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by/3.0/&quot; hreflang=&quot;en&quot;&gt;Creative Commons&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Par défaut la méthode &quot;select&quot; retourne un tableau d'objets mais il est possible d'indiquer une classe personnalisée à utiliser à la place. En effet, grâce à la propriété itemClass de la classe &lt;a href=&quot;http://livedocs.adobe.com/labs/flex/3/langref/flash/data/SQLStatement.html&quot; hreflang=&quot;en&quot;&gt;SQLStatement&lt;/a&gt; il est possible de faire correspondre facilement une classe Actionscript à une table de la base, les propriétés publiques de la classe sont alors remplies automatiquement avec les valeurs des colonnes de la table portant le même nom, super pratique :)&lt;/p&gt;


&lt;p&gt;Voici un exemple d'utilisation&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&amp;lt;mx:WindowedApplication xmlns:mx=&amp;quot;http://www.adobe.com/2006/mxml&amp;quot; layout=&amp;quot;vertical&amp;quot; creationComplete=&amp;quot;init()&amp;quot;&amp;gt;

	&amp;lt;mx:Script&amp;gt;
		&amp;lt;![CDATA[
			import net.burnyourbrowser.data.SQLiteManager;
			import User;
			
			[Bindable]
			private var db:SQLiteManager;
			
			private function init():void{		
				this.db = new SQLiteManager(&amp;quot;app-resource:/base.db&amp;quot;);
				this.db.select(&amp;quot;SELECT * FROM users&amp;quot;, User);
			}
			
			private function removeSelectedItem():void{
				var id:int = resultDataGrid.selectedItem.id;
				this.db.remove(&amp;quot;DELETE FROM profiles WHERE id=&amp;quot;+id);
			}
			
		]]&amp;gt;
	&amp;lt;/mx:Script&amp;gt;
	
	&amp;lt;mx:DataGrid id=&amp;quot;resultDataGrid&amp;quot; dataProvider=&amp;quot;{db.result}&amp;quot;&amp;gt;
		&amp;lt;mx:columns&amp;gt;
			&amp;lt;mx:DataGridColumn headerText=&amp;quot;id&amp;quot; dataField=&amp;quot;id&amp;quot;/&amp;gt;
			&amp;lt;mx:DataGridColumn headerText=&amp;quot;name&amp;quot; dataField=&amp;quot;firstname&amp;quot;/&amp;gt;
			&amp;lt;mx:DataGridColumn headerText=&amp;quot;url&amp;quot; dataField=&amp;quot;lastname&amp;quot;/&amp;gt;
		&amp;lt;/mx:columns&amp;gt;
	&amp;lt;/mx:DataGrid&amp;gt;
	
	&amp;lt;mx:Button label=&amp;quot;Supprimer&amp;quot; click=&amp;quot;removeSelectedItem()&amp;quot;/&amp;gt;
	
&amp;lt;/mx:WindowedApplication&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Pour la création initiale de la base, je vous conseille &lt;a href=&quot;http://sqliteadmin.orbmu2k.de/&quot; hreflang=&quot;en&quot;&gt;SQLite Administrator&lt;/a&gt;, gratuit et qui fonctionne plutôt bien.&lt;/p&gt;


&lt;p&gt;Je vous file le code sous licence &lt;a href=&quot;http://creativecommons.org/licenses/by/3.0/&quot; hreflang=&quot;en&quot;&gt;Creative Commons&lt;/a&gt;, vous pouvez donc en faire ce que bon vous semble :)&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.pabloprieto.net/index.php/post/2007/10/04/Une-classe-pour-manipuler-une-base-de-donnees-dans-AIR#comment-form</comments>
      <wfw:comment>http://blog.pabloprieto.net/index.php/post/2007/10/04/Une-classe-pour-manipuler-une-base-de-donnees-dans-AIR#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.pabloprieto.net/index.php/feed/rss2/comments/32</wfw:commentRss>
      </item>
    
</channel>
</rss>