<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: DataAccess Utility Class</title>
	<atom:link href="http://www.brandonellis.org/?feed=rss2&#038;p=49" rel="self" type="application/rss+xml" />
	<link>http://www.brandonellis.org/?p=49</link>
	<description>Now in Beta</description>
	<lastBuildDate>Thu, 09 Sep 2010 15:15:03 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: 360&#124;Flex slides for &#8220;AIR SQLite: An optimization conversation&#8221;, a bunch of Words, punctuated - by Paul Robertson (http://probertson.com/)</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-31577</link>
		<dc:creator>360&#124;Flex slides for &#8220;AIR SQLite: An optimization conversation&#8221;, a bunch of Words, punctuated - by Paul Robertson (http://probertson.com/)</dc:creator>
		<pubDate>Sat, 23 Aug 2008 00:09:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-31577</guid>
		<description>[...] Data access layer (Brandon Ellis) [...]</description>
		<content:encoded><![CDATA[<p>[...] Data access layer (Brandon Ellis) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rajesh</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-3973</link>
		<dc:creator>Rajesh</dc:creator>
		<pubDate>Sat, 25 Aug 2007 11:36:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-3973</guid>
		<description>thank 
     this is to good n fine for AIR users</description>
		<content:encoded><![CDATA[<p>thank<br />
     this is to good n fine for AIR users</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ASTROIS BLOG &#187; Blog Archive &#187; Base de données locales dans AIR</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-3241</link>
		<dc:creator>ASTROIS BLOG &#187; Blog Archive &#187; Base de données locales dans AIR</dc:creator>
		<pubDate>Wed, 11 Jul 2007 18:41:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-3241</guid>
		<description>[...] D&#8217;une part, Adobe et Google ont annoncé qu&#8217;ils devraient alignés leurs API de manipulation de SQLite. Cela signifie que l&#8217;API d&#8217;AIR sera amené à changer et qu&#8217;il faudra donc modifier son code dans les applications développées avec la version beta. Je ne saurais conseillé alors d&#8217;externaliser dans une classe les accès aux données de vos programmes afin qu&#8217;aux prochains changements , uniquement cette classe devra être modifiée. Vous trouverez d&#8217;ailleurs un example sur le blog de Brandon Nellis. [...]</description>
		<content:encoded><![CDATA[<p>[...] D&#8217;une part, Adobe et Google ont annoncé qu&#8217;ils devraient alignés leurs API de manipulation de SQLite. Cela signifie que l&#8217;API d&#8217;AIR sera amené à changer et qu&#8217;il faudra donc modifier son code dans les applications développées avec la version beta. Je ne saurais conseillé alors d&#8217;externaliser dans une classe les accès aux données de vos programmes afin qu&#8217;aux prochains changements , uniquement cette classe devra être modifiée. Vous trouverez d&#8217;ailleurs un example sur le blog de Brandon Nellis. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2007-07-01</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-3062</link>
		<dc:creator>links for 2007-07-01</dc:creator>
		<pubDate>Sun, 01 Jul 2007 08:22:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-3062</guid>
		<description>[...] DataAccess Utility Class » Brandon Ellis Dot Org I spent this weekend writing a simple ‘Data Access Layer’ utility class to be used with AIR applications and sqlite. If you are not familiar with using a ‘DAL’, data access layers act as transparent layer between your application and the database (tags: flex apollo air) [...]</description>
		<content:encoded><![CDATA[<p>[...] DataAccess Utility Class » Brandon Ellis Dot Org I spent this weekend writing a simple ‘Data Access Layer’ utility class to be used with AIR applications and sqlite. If you are not familiar with using a ‘DAL’, data access layers act as transparent layer between your application and the database (tags: flex apollo air) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: brandonthedeveloper</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-2756</link>
		<dc:creator>brandonthedeveloper</dc:creator>
		<pubDate>Wed, 20 Jun 2007 03:06:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-2756</guid>
		<description>Campbell - yeah I think there will be a lot of cool classes to make up a great AIR developer library.

Paul - I was excited about sqlite being embeded in AIR apps but your post on it is what really got me motivated to write the class (actually, your post and knew I was going to need the class for an AIR project at work). 

Yeah the class is simple but after easily replacing a few classes in my current project with just this one DAL class, I think I&#039;m going to take some time to refine it.  

Its a nice utility for the community and maybe it will give me something to speak about at a user group meeting. ;)</description>
		<content:encoded><![CDATA[<p>Campbell &#8211; yeah I think there will be a lot of cool classes to make up a great AIR developer library.</p>
<p>Paul &#8211; I was excited about sqlite being embeded in AIR apps but your post on it is what really got me motivated to write the class (actually, your post and knew I was going to need the class for an AIR project at work). </p>
<p>Yeah the class is simple but after easily replacing a few classes in my current project with just this one DAL class, I think I&#8217;m going to take some time to refine it.  </p>
<p>Its a nice utility for the community and maybe it will give me something to speak about at a user group meeting. ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Robertson</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-2734</link>
		<dc:creator>Paul Robertson</dc:creator>
		<pubDate>Tue, 19 Jun 2007 16:14:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-2734</guid>
		<description>Pretty nice -- there&#039;s room for more functionality of course, but it&#039;s a nice way to simplify things. The part that caught my eye the most was how it uses data binding to avoid the need for any events (and associated event handling code) -- very nice.

If you don&#039;t mind, here are a couple of comments/suggestions:


In the example it just concatenates values into the SQL rather than using parameters. The DataAccess class doesn&#039;t really have a way to pass in parameters, but you could probably make that work by adding a parameter in the &lt;code&gt;DataAccessSelect()&lt;/code&gt;/&lt;code&gt;DataAccessInsert()&lt;/code&gt;/etc. methods to pass in an associative array of SQL parameters.

in the &lt;code&gt;executeSQL()&lt;/code&gt; method, it wraps several lines in a &lt;code&gt;try..catch&lt;/code&gt; block and catches SQLError. However, none of the code in the &lt;code&gt;try&lt;/code&gt; block throws a SQLError, so your &lt;code&gt;catch&lt;/code&gt; block will never be used. Three of the lines of code can throw an IllegalOperationError, so maybe that would be a better choice for the &lt;code&gt;catch&lt;/code&gt; block parameter. (At this point, SQLError is only used when an error occurs during an async operation -- it&#039;s only available via a SQLErrorEvent or in a status/fault handler of a Responder passed to &lt;code&gt;SQLStatement.execute()&lt;/code&gt;

A big downside is that the developer still needs to pass SQL to the DataAccess class. Obviously there&#039;s not much way around that in a simple class; perhaps a complex version could be created where a developer just passes a table name in the constructor and the class does the work of creating the relevent SQL code. (Obviously then the INSERT and UPDATE methods would need pairs of names and values passed in, and the DELETE would need some WHERE clause value passed in or something -- it wouldn&#039;t be something trivial -- I guess I&#039;m just sort of thinking out loud here.)


- PaulActionScript Developer/WriterAdobe Systems, Inc.</description>
		<content:encoded><![CDATA[<p>Pretty nice &#8212; there&#8217;s room for more functionality of course, but it&#8217;s a nice way to simplify things. The part that caught my eye the most was how it uses data binding to avoid the need for any events (and associated event handling code) &#8212; very nice.</p>
<p>If you don&#8217;t mind, here are a couple of comments/suggestions:</p>
<p>In the example it just concatenates values into the SQL rather than using parameters. The DataAccess class doesn&#8217;t really have a way to pass in parameters, but you could probably make that work by adding a parameter in the <code>DataAccessSelect()</code>/<code>DataAccessInsert()</code>/etc. methods to pass in an associative array of SQL parameters.</p>
<p>in the <code>executeSQL()</code> method, it wraps several lines in a <code>try..catch</code> block and catches SQLError. However, none of the code in the <code>try</code> block throws a SQLError, so your <code>catch</code> block will never be used. Three of the lines of code can throw an IllegalOperationError, so maybe that would be a better choice for the <code>catch</code> block parameter. (At this point, SQLError is only used when an error occurs during an async operation &#8212; it&#8217;s only available via a SQLErrorEvent or in a status/fault handler of a Responder passed to <code>SQLStatement.execute()</code></p>
<p>A big downside is that the developer still needs to pass SQL to the DataAccess class. Obviously there&#8217;s not much way around that in a simple class; perhaps a complex version could be created where a developer just passes a table name in the constructor and the class does the work of creating the relevent SQL code. (Obviously then the INSERT and UPDATE methods would need pairs of names and values passed in, and the DELETE would need some WHERE clause value passed in or something &#8212; it wouldn&#8217;t be something trivial &#8212; I guess I&#8217;m just sort of thinking out loud here.)</p>
<p>- PaulActionScript Developer/WriterAdobe Systems, Inc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DataAccess Utility Class &#171; Flash Enabled - Get Ready With Flash&#8230;</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-2665</link>
		<dc:creator>DataAccess Utility Class &#171; Flash Enabled - Get Ready With Flash&#8230;</dc:creator>
		<pubDate>Mon, 18 Jun 2007 08:41:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-2665</guid>
		<description>[...] Utility&#160;Class    brandonthedeveloper wrote: I spent this weekend writing a simple ‘Data Access Layer’ utility class to be used with AIR [...]</description>
		<content:encoded><![CDATA[<p>[...] Utility&nbsp;Class    brandonthedeveloper wrote: I spent this weekend writing a simple ‘Data Access Layer’ utility class to be used with AIR [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Campbell</title>
		<link>http://www.brandonellis.org/?p=49&#038;cpage=1#comment-2640</link>
		<dc:creator>Campbell</dc:creator>
		<pubDate>Sun, 17 Jun 2007 22:35:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.brandonellis.org/?p=49#comment-2640</guid>
		<description>Nice bro, now we need an AIRlib set up on google code, and stick this in it. As Im sure there are alot more usefull classes that are going to popup</description>
		<content:encoded><![CDATA[<p>Nice bro, now we need an AIRlib set up on google code, and stick this in it. As Im sure there are alot more usefull classes that are going to popup</p>
]]></content:encoded>
	</item>
</channel>
</rss>
