<?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: AIR SQLite library updates</title>
	<atom:link href="http://probertson.com/articles/2010/04/02/air-sqlite-library-updates/feed/" rel="self" type="application/rss+xml" />
	<link>http://probertson.com/articles/2010/04/02/air-sqlite-library-updates/</link>
	<description>Thoughts on web development, user-centered design, code, etc. by Paul Robertson</description>
	<lastBuildDate>Wed, 16 May 2012 17:16:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>By: Paul Robertson</title>
		<link>http://probertson.com/articles/2010/04/02/air-sqlite-library-updates/#comment-75403</link>
		<dc:creator>Paul Robertson</dc:creator>
		<pubDate>Tue, 25 May 2010 15:14:35 +0000</pubDate>
		<guid isPermaLink="false">http://probertson.com/?p=432#comment-75403</guid>
		<description>Hi Rudi,

I assume the important thing you&#039;re trying to do is get the primary key of an inserted row and use it in subsequent statements, all within a single transaction.

If you&#039;re specifically interested in doing thta using my AIR SQLite library, then unfortunately that capability isn&#039;t available yet. (I&#039;ve started working on building that, but since the library is just something I build in my spare time it&#039;s not necessarily going to happen very soon.)

However, it&#039;s definitely available in AIR SQLite if you&#039;re managing the connections and statements yourself. The section &quot;&lt;a href=&quot;http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7d4b.html#WS5b3ccc516d4fbf351e63e3d118666ade46-7d12&quot; rel=&quot;nofollow&quot;&gt;Retrieving a database-generated primary key of an inserted row&lt;/a&gt;&quot; in the documentation talks about how to do that.

(I wrote that section of the docs, so if it&#039;s unclear or you have more questions, definitely feel free to ask.)</description>
		<content:encoded><![CDATA[<p>Hi Rudi,</p>
<p>I assume the important thing you&#8217;re trying to do is get the primary key of an inserted row and use it in subsequent statements, all within a single transaction.</p>
<p>If you&#8217;re specifically interested in doing thta using my AIR SQLite library, then unfortunately that capability isn&#8217;t available yet. (I&#8217;ve started working on building that, but since the library is just something I build in my spare time it&#8217;s not necessarily going to happen very soon.)</p>
<p>However, it&#8217;s definitely available in AIR SQLite if you&#8217;re managing the connections and statements yourself. The section &#8220;<a href="http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7d4b.html#WS5b3ccc516d4fbf351e63e3d118666ade46-7d12" rel="nofollow">Retrieving a database-generated primary key of an inserted row</a>&#8221; in the documentation talks about how to do that.</p>
<p>(I wrote that section of the docs, so if it&#8217;s unclear or you have more questions, definitely feel free to ask.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rudi</title>
		<link>http://probertson.com/articles/2010/04/02/air-sqlite-library-updates/#comment-75401</link>
		<dc:creator>rudi</dc:creator>
		<pubDate>Tue, 25 May 2010 14:14:23 +0000</pubDate>
		<guid isPermaLink="false">http://probertson.com/?p=432#comment-75401</guid>
		<description>I have a new question:
how can I have this in air sqlite?:

 transaction = connection.BeginTransaction();

    command = new SQLiteCommand();
    command.Transaction = transaction;
    command.CommandText = &quot;INSERT INTO tbl1 (data) VALUES (&#039;blargh&#039;)&quot;;
    command.ExecuteNonQuery();

    command = new SQLiteCommand();
    command.Transaction = transaction;
    command.CommandText = &quot;SELECT last_insert_rowid()&quot;;
    SQLiteDataReader reader = command.ExecuteReader();
    while (reader.Read()) {
        rowId = (long)reader[0];
    }

    command = new SQLiteCommand();
    command.Transaction = transaction;
    command.CommandText = &quot;INSERT INTO tbl2 (id, tbl1Id) VALUES (2, @rowId)&quot;;
    command.Parameters.Add(new SQLiteParameter(&quot;@rowId&quot;, rowId));
    command.ExecuteNonQuery();

    command = new SQLiteCommand();
    command.Transaction = transaction;
    command.CommandText = &quot;INSERT INTO tbl3 (id, tbl1Id) VALUES (3, @rowId)&quot;;
    command.Parameters.Add(new SQLiteParameter(&quot;@rowId&quot;, rowId));
    command.ExecuteNonQuery();

command = new SQLiteCommand();
    command.Transaction = transaction;
    command.CommandText = &quot;INSERT INTO tbl3 (id, tbl1Id) VALUES (4, @rowId)&quot;;
    command.Parameters.Add(new SQLiteParameter(&quot;@rowId&quot;, rowId));
    command.ExecuteNonQuery();

    transaction.Commit();</description>
		<content:encoded><![CDATA[<p>I have a new question:<br />
how can I have this in air sqlite?:</p>
<p> transaction = connection.BeginTransaction();</p>
<p>    command = new SQLiteCommand();<br />
    command.Transaction = transaction;<br />
    command.CommandText = &#8220;INSERT INTO tbl1 (data) VALUES (&#8216;blargh&#8217;)&#8221;;<br />
    command.ExecuteNonQuery();</p>
<p>    command = new SQLiteCommand();<br />
    command.Transaction = transaction;<br />
    command.CommandText = &#8220;SELECT last_insert_rowid()&#8221;;<br />
    SQLiteDataReader reader = command.ExecuteReader();<br />
    while (reader.Read()) {<br />
        rowId = (long)reader[0];<br />
    }</p>
<p>    command = new SQLiteCommand();<br />
    command.Transaction = transaction;<br />
    command.CommandText = &#8220;INSERT INTO tbl2 (id, tbl1Id) VALUES (2, @rowId)&#8221;;<br />
    command.Parameters.Add(new SQLiteParameter(&#8220;@rowId&#8221;, rowId));<br />
    command.ExecuteNonQuery();</p>
<p>    command = new SQLiteCommand();<br />
    command.Transaction = transaction;<br />
    command.CommandText = &#8220;INSERT INTO tbl3 (id, tbl1Id) VALUES (3, @rowId)&#8221;;<br />
    command.Parameters.Add(new SQLiteParameter(&#8220;@rowId&#8221;, rowId));<br />
    command.ExecuteNonQuery();</p>
<p>command = new SQLiteCommand();<br />
    command.Transaction = transaction;<br />
    command.CommandText = &#8220;INSERT INTO tbl3 (id, tbl1Id) VALUES (4, @rowId)&#8221;;<br />
    command.Parameters.Add(new SQLiteParameter(&#8220;@rowId&#8221;, rowId));<br />
    command.ExecuteNonQuery();</p>
<p>    transaction.Commit();</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rudi</title>
		<link>http://probertson.com/articles/2010/04/02/air-sqlite-library-updates/#comment-75116</link>
		<dc:creator>rudi</dc:creator>
		<pubDate>Sat, 08 May 2010 17:55:13 +0000</pubDate>
		<guid isPermaLink="false">http://probertson.com/?p=432#comment-75116</guid>
		<description>this is the code:
package mpc.app.ordini.command
{
	
	import com.adobe.cairngorm.commands.ICommand;
	import com.adobe.cairngorm.control.CairngormEvent;
	
	import flash.data.SQLResult;
	import flash.display.Sprite;
	
	import mpc.app.ordini.business.InizializzaSerataDelegate;
	import mpc.app.ordini.business.IncrementaSerataDelegate;
	import mpc.app.ordini.business.VerificaSerataDelegate;
	import mpc.app.ordini.event.NewEvent;
	import mpc.app.ordini.model.Model;
	import mpc.app.preferenze.model.Model;
	
	import mx.collections.ArrayCollection;
	import mx.controls.Alert;
	import mx.core.FlexGlobals;

	//import com.adobe.cairngorm.view.ViewLocator;
	//import mpc.app.login.viewHelper.LoginHelper;
	
	public class NewCommand implements ICommand
	{
		
		private var modelPreferenze:mpc.app.preferenze.model.Model;
		private var modelOrdini:mpc.app.ordini.model.Model;
		
		public function NewCommand()
		{
		}
		
		public function execute(event:CairngormEvent):void
		{
			trace(&quot;new x ordini&quot;);
			modelPreferenze=mpc.app.preferenze.model.Model.getInstance();
			modelOrdini=mpc.app.ordini.model.Model.getInstance();
				
			var loadEvent:NewEvent=event as NewEvent;
			
			//genero un oggetto delegate a cui passo come responder le funzioni che quindi si occuperanno anche di rispondere
			var delegate:VerificaSerataDelegate=new VerificaSerataDelegate(this.result, undefined, this.fault, undefined);
			
			//trace(&quot;SERATA:&quot;+modelOrdini.serata.toString());
					
			var inizioSerata:Date= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0); 
			//var fineSerata:Date= new Date(modelOrdini.serata.fullYear, (modelOrdini.serata.month + 1), modelOrdini.serata.date,23,59,59,999); 
			
			trace(&quot;inizioSerata:&quot;+inizioSerata.fullYear+&quot; - &quot;+inizioSerata.month+&quot; - &quot;+inizioSerata.date);
			
			var obj:Object=new Object();
			//obj.azione=&quot;query&quot;; non serve lo applica il clienti attraverso il delegate in base alla funzione client chiamata query o querymodifiy
			obj.sql=&quot;SELECT * FROM main.numeroOrdine WHERE data=:inizioSerata ;&quot;;
			
			obj.parameters=new Object();
			obj.parameters.inizioSerata=inizioSerata;
			//obj.parameters.fineSerata=fineSerata;
			
			
			
			delegate.load(obj);
			
		}
		
		public function result(risposta:*):void
		{
			trace(&quot;risposta:&quot;+risposta);
				if(risposta)
				{
					
					trace(&quot;risposta OK&quot;);
					var inizioSerata:Date= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0); 
					//var fineSerata:Date= new Date(modelOrdini.serata.fullYear, (modelOrdini.serata.month + 1), modelOrdini.serata.date,23,59,59,999); 
					
					var delegate1:IncrementaSerataDelegate=new IncrementaSerataDelegate(this.result2, undefined, this.fault, undefined);
					
					//messaggio.azione=&quot;queryModify&quot;; viene aggiunta dal client in base alla funzione richiamata querymodify
					var sql:String=&quot;UPDATE main.numeroOrdine SET numero=numero+1, dataMod=DATETIME(&#039;now&#039;,&#039;localtime&#039;), utenteMod=:utenteMod WHERE data=:inizioSerata&quot;;
					var parameters:Object=new Object();
					parameters.inizioSerata=inizioSerata;
					parameters.utenteMod=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;
					//parameters.eliminato=0; definito direttamente nella query 
					
					
					//statements[statements.length] = new QueuedStatement(sql,parameters);
					var arrayQuery:Array=new Array();
					var query1:Object=new Object();
					query1.sql=sql;
					query1.parameters=parameters;
					arrayQuery.push(query1);
					
					
					
					//obj.azione=&quot;query&quot;; non serve lo applica il clienti attraverso il delegate in base alla funzione client chiamata query o querymodifiy
					var sql2:String=&quot;SELECT * FROM main.numeroOrdine WHERE data=:inizioSerata ;&quot;;
					var parameters2:Object=new Object();
					parameters2=new Object();
					parameters2.inizioSerata=inizioSerata;
					//parameters2.fineSerata=fineSerata;
					
					var query2:Object=new Object();
					query2.sql=sql2;
					query2.parameters=parameters2;
					arrayQuery.push(query2);
					
					delegate1.incrementa(arrayQuery);
				}
				else
				{
					
					trace(&quot;risposta null creo nuovo record in numeroOrdine&quot;);
					//la serata non era ancora stata inizializzata
					//creo nuovo contatore per serata
					
					//genero un oggetto delegate a cui passo come responder le funzioni che quindi si occuperanno anche di rispondere
					var delegate2:InizializzaSerataDelegate=new InizializzaSerataDelegate(this.result2, undefined, this.fault, undefined);
					
					//messaggio.azione=&quot;queryModify&quot;; viene aggiunta dal client in base alla funzione richiamata querymodify
					var sql:String=&quot;INSERT INTO main.numeroOrdine ( data, numero, dataIns, utenteIns, dataMod, utenteMod) VALUES ( :data, :numero, DATETIME(&#039;NOW&#039;,&#039;localtime&#039;), :utenteIns, DATETIME(&#039;NOW&#039;,&#039;localtime&#039;), :utenteMod);&quot;;
					var parameters:Object=new Object();
					
					parameters.data= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0);
					parameters.numero=1;
					parameters.utenteIns=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;
					parameters.utenteMod=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;
					//parameters.eliminato=0; definito direttamente nella query 
					
					
					//statements[statements.length] = new QueuedStatement(sql,parameters);
					var arrayQuery:Array=new Array();
					var query1:Object=new Object();
					query1.sql=sql;
					query1.parameters=parameters;
					arrayQuery.push(query1);
					
					
					var inizioSerata:Date= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0); 
					//var fineSerata:Date= new Date(modelOrdini.serata.fullYear, (modelOrdini.serata.month + 1), modelOrdini.serata.date,23,59,59,999); 
					
					//obj.azione=&quot;query&quot;; non serve lo applica il clienti attraverso il delegate in base alla funzione client chiamata query o querymodifiy
					var sql2:String=&quot;SELECT * FROM main.numeroOrdine WHERE data=:inizioSerata ;&quot;;
					var parameters2:Object=new Object();
					parameters2=new Object();
					parameters2.inizioSerata=inizioSerata;
					//parameters2.fineSerata=fineSerata;
					
					var query2:Object=new Object();
					query2.sql=sql2;
					query2.parameters=parameters2;
					arrayQuery.push(query2);
					
					delegate2.inizializza(arrayQuery);
					
				}
				
				/*
				//messaggio.azione=&quot;queryModify&quot;; viene aggiunta dal client in base alla funzione richiamata querymodify
				var sql:String=&quot;INSERT INTO main.utenti ( nomeUtente, descrizione, password, email, ico, colore, tipo, dataIns, utenteIns, dataMod, utenteMod, eliminato) VALUES ( :nomeUtente, :descrizione, :password, :email, :ico, :colore, :tipo, DATETIME(&#039;NOW&#039;,&#039;localtime&#039;), :utenteIns, DATETIME(&#039;NOW&#039;,&#039;localtime&#039;), :utenteMod, 0);&quot;;
				var parameters:Object=new Object();
				parameters=modelUtenti.oggettoCorrente;
				parameters.utenteIns=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;
				parameters.utenteMod=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;
				//parameters.eliminato=0; definito direttamente nella query 
				
				
				//statements[statements.length] = new QueuedStatement(sql,parameters);
				var arrayQuery:Array=new Array();
				var query1:Object=new Object();
				query1.sql=sql;
				query1.parameters=parameters;
				arrayQuery.push(query1);
				*/
				/*
				var row:Object=risposta[0];
				
				//recupero dati login e li salvo nelle preferenze
				modelPreferenze.setPreferenza(modelPreferenze.UTENTELOGIN, row);
				//trace(&quot;LOGIN COMMAND prima di usare loginHelper!!!!&quot;);
				//per avere la possibilit?† di interagire con il view login e inoltrare l&#039;evento di conferma login
				var loginHelper:LoginHelper = ViewLocator.getInstance().getViewHelper(&quot;loginHelper&quot;) as LoginHelper;
				loginHelper.loginConfermato();
				*/
			
			
		
		}
		
		
		public function result2(risposta:*):void
		{
			trace(&quot;risposta2:&quot;+risposta.length);
			
			trace(&quot;risposta2:&quot;+risposta[1].data);
			trace(&quot;risposta2:&quot;+risposta[1].data[0].numero);
			

		}
		
		public function fault(event:Object):void
		{
			trace(&quot;LOAD ARTICOLI x ordini!!!!&quot;);
			var myAlertAccessoNegato:Alert=Alert.show(&quot;LOAD ARTICOLI X ORDINI\nFALLITO&quot;,&quot;ERRORE&quot;, Alert.OK, FlexGlobals.topLevelApplication as Sprite);
			myAlertAccessoNegato.maxWidth=150;
		
		}
	}
	
	
	
}</description>
		<content:encoded><![CDATA[<p>this is the code:<br />
package mpc.app.ordini.command<br />
{</p>
<p>	import com.adobe.cairngorm.commands.ICommand;<br />
	import com.adobe.cairngorm.control.CairngormEvent;</p>
<p>	import flash.data.SQLResult;<br />
	import flash.display.Sprite;</p>
<p>	import mpc.app.ordini.business.InizializzaSerataDelegate;<br />
	import mpc.app.ordini.business.IncrementaSerataDelegate;<br />
	import mpc.app.ordini.business.VerificaSerataDelegate;<br />
	import mpc.app.ordini.event.NewEvent;<br />
	import mpc.app.ordini.model.Model;<br />
	import mpc.app.preferenze.model.Model;</p>
<p>	import mx.collections.ArrayCollection;<br />
	import mx.controls.Alert;<br />
	import mx.core.FlexGlobals;</p>
<p>	//import com.adobe.cairngorm.view.ViewLocator;<br />
	//import mpc.app.login.viewHelper.LoginHelper;</p>
<p>	public class NewCommand implements ICommand<br />
	{</p>
<p>		private var modelPreferenze:mpc.app.preferenze.model.Model;<br />
		private var modelOrdini:mpc.app.ordini.model.Model;</p>
<p>		public function NewCommand()<br />
		{<br />
		}</p>
<p>		public function execute(event:CairngormEvent):void<br />
		{<br />
			trace(&#8220;new x ordini&#8221;);<br />
			modelPreferenze=mpc.app.preferenze.model.Model.getInstance();<br />
			modelOrdini=mpc.app.ordini.model.Model.getInstance();</p>
<p>			var loadEvent:NewEvent=event as NewEvent;</p>
<p>			//genero un oggetto delegate a cui passo come responder le funzioni che quindi si occuperanno anche di rispondere<br />
			var delegate:VerificaSerataDelegate=new VerificaSerataDelegate(this.result, undefined, this.fault, undefined);</p>
<p>			//trace(&#8220;SERATA:&#8221;+modelOrdini.serata.toString());</p>
<p>			var inizioSerata:Date= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0);<br />
			//var fineSerata:Date= new Date(modelOrdini.serata.fullYear, (modelOrdini.serata.month + 1), modelOrdini.serata.date,23,59,59,999); </p>
<p>			trace(&#8220;inizioSerata:&#8221;+inizioSerata.fullYear+&#8221; - &#8220;+inizioSerata.month+&#8221; - &#8220;+inizioSerata.date);</p>
<p>			var obj:Object=new Object();<br />
			//obj.azione=&#8221;query&#8221;; non serve lo applica il clienti attraverso il delegate in base alla funzione client chiamata query o querymodifiy<br />
			obj.sql=&#8221;SELECT * FROM main.numeroOrdine WHERE data=:inizioSerata ;&#8221;;</p>
<p>			obj.parameters=new Object();<br />
			obj.parameters.inizioSerata=inizioSerata;<br />
			//obj.parameters.fineSerata=fineSerata;</p>
<p>			delegate.load(obj);</p>
<p>		}</p>
<p>		public function result(risposta:*):void<br />
		{<br />
			trace(&#8220;risposta:&#8221;+risposta);<br />
				if(risposta)<br />
				{</p>
<p>					trace(&#8220;risposta OK&#8221;);<br />
					var inizioSerata:Date= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0);<br />
					//var fineSerata:Date= new Date(modelOrdini.serata.fullYear, (modelOrdini.serata.month + 1), modelOrdini.serata.date,23,59,59,999); </p>
<p>					var delegate1:IncrementaSerataDelegate=new IncrementaSerataDelegate(this.result2, undefined, this.fault, undefined);</p>
<p>					//messaggio.azione=&#8221;queryModify&#8221;; viene aggiunta dal client in base alla funzione richiamata querymodify<br />
					var sql:String=&#8221;UPDATE main.numeroOrdine SET numero=numero+1, dataMod=DATETIME(&#8216;now&#8217;,&#8217;localtime&#8217;), utenteMod=:utenteMod WHERE data=:inizioSerata&#8221;;<br />
					var parameters:Object=new Object();<br />
					parameters.inizioSerata=inizioSerata;<br />
					parameters.utenteMod=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;<br />
					//parameters.eliminato=0; definito direttamente nella query </p>
<p>					//statements[statements.length] = new QueuedStatement(sql,parameters);<br />
					var arrayQuery:Array=new Array();<br />
					var query1:Object=new Object();<br />
					query1.sql=sql;<br />
					query1.parameters=parameters;<br />
					arrayQuery.push(query1);</p>
<p>					//obj.azione=&#8221;query&#8221;; non serve lo applica il clienti attraverso il delegate in base alla funzione client chiamata query o querymodifiy<br />
					var sql2:String=&#8221;SELECT * FROM main.numeroOrdine WHERE data=:inizioSerata ;&#8221;;<br />
					var parameters2:Object=new Object();<br />
					parameters2=new Object();<br />
					parameters2.inizioSerata=inizioSerata;<br />
					//parameters2.fineSerata=fineSerata;</p>
<p>					var query2:Object=new Object();<br />
					query2.sql=sql2;<br />
					query2.parameters=parameters2;<br />
					arrayQuery.push(query2);</p>
<p>					delegate1.incrementa(arrayQuery);<br />
				}<br />
				else<br />
				{</p>
<p>					trace(&#8220;risposta null creo nuovo record in numeroOrdine&#8221;);<br />
					//la serata non era ancora stata inizializzata<br />
					//creo nuovo contatore per serata</p>
<p>					//genero un oggetto delegate a cui passo come responder le funzioni che quindi si occuperanno anche di rispondere<br />
					var delegate2:InizializzaSerataDelegate=new InizializzaSerataDelegate(this.result2, undefined, this.fault, undefined);</p>
<p>					//messaggio.azione=&#8221;queryModify&#8221;; viene aggiunta dal client in base alla funzione richiamata querymodify<br />
					var sql:String=&#8221;INSERT INTO main.numeroOrdine ( data, numero, dataIns, utenteIns, dataMod, utenteMod) VALUES ( :data, :numero, DATETIME(&#8216;NOW&#8217;,&#8217;localtime&#8217;), :utenteIns, DATETIME(&#8216;NOW&#8217;,&#8217;localtime&#8217;), :utenteMod);&#8221;;<br />
					var parameters:Object=new Object();</p>
<p>					parameters.data= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0);<br />
					parameters.numero=1;<br />
					parameters.utenteIns=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;<br />
					parameters.utenteMod=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;<br />
					//parameters.eliminato=0; definito direttamente nella query </p>
<p>					//statements[statements.length] = new QueuedStatement(sql,parameters);<br />
					var arrayQuery:Array=new Array();<br />
					var query1:Object=new Object();<br />
					query1.sql=sql;<br />
					query1.parameters=parameters;<br />
					arrayQuery.push(query1);</p>
<p>					var inizioSerata:Date= new Date(modelOrdini.serata.fullYear, modelOrdini.serata.month, modelOrdini.serata.date,0,0,0,0);<br />
					//var fineSerata:Date= new Date(modelOrdini.serata.fullYear, (modelOrdini.serata.month + 1), modelOrdini.serata.date,23,59,59,999); </p>
<p>					//obj.azione=&#8221;query&#8221;; non serve lo applica il clienti attraverso il delegate in base alla funzione client chiamata query o querymodifiy<br />
					var sql2:String=&#8221;SELECT * FROM main.numeroOrdine WHERE data=:inizioSerata ;&#8221;;<br />
					var parameters2:Object=new Object();<br />
					parameters2=new Object();<br />
					parameters2.inizioSerata=inizioSerata;<br />
					//parameters2.fineSerata=fineSerata;</p>
<p>					var query2:Object=new Object();<br />
					query2.sql=sql2;<br />
					query2.parameters=parameters2;<br />
					arrayQuery.push(query2);</p>
<p>					delegate2.inizializza(arrayQuery);</p>
<p>				}</p>
<p>				/*<br />
				//messaggio.azione=&#8221;queryModify&#8221;; viene aggiunta dal client in base alla funzione richiamata querymodify<br />
				var sql:String=&#8221;INSERT INTO main.utenti ( nomeUtente, descrizione, password, email, ico, colore, tipo, dataIns, utenteIns, dataMod, utenteMod, eliminato) VALUES ( :nomeUtente, :descrizione, :password, :email, :ico, :colore, :tipo, DATETIME(&#8216;NOW&#8217;,&#8217;localtime&#8217;), :utenteIns, DATETIME(&#8216;NOW&#8217;,&#8217;localtime&#8217;), :utenteMod, 0);&#8221;;<br />
				var parameters:Object=new Object();<br />
				parameters=modelUtenti.oggettoCorrente;<br />
				parameters.utenteIns=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;<br />
				parameters.utenteMod=modelPreferenze.getPreferenza(modelPreferenze.UTENTELOGIN).nomeUtente;<br />
				//parameters.eliminato=0; definito direttamente nella query </p>
<p>				//statements[statements.length] = new QueuedStatement(sql,parameters);<br />
				var arrayQuery:Array=new Array();<br />
				var query1:Object=new Object();<br />
				query1.sql=sql;<br />
				query1.parameters=parameters;<br />
				arrayQuery.push(query1);<br />
				*/<br />
				/*<br />
				var row:Object=risposta[0];</p>
<p>				//recupero dati login e li salvo nelle preferenze<br />
				modelPreferenze.setPreferenza(modelPreferenze.UTENTELOGIN, row);<br />
				//trace(&#8220;LOGIN COMMAND prima di usare loginHelper!!!!&#8221;);<br />
				//per avere la possibilit?† di interagire con il view login e inoltrare l&#8217;evento di conferma login<br />
				var loginHelper:LoginHelper = ViewLocator.getInstance().getViewHelper(&#8220;loginHelper&#8221;) as LoginHelper;<br />
				loginHelper.loginConfermato();<br />
				*/</p>
<p>		}</p>
<p>		public function result2(risposta:*):void<br />
		{<br />
			trace(&#8220;risposta2:&#8221;+risposta.length);</p>
<p>			trace(&#8220;risposta2:&#8221;+risposta[1].data);<br />
			trace(&#8220;risposta2:&#8221;+risposta[1].data[0].numero);</p>
<p>		}</p>
<p>		public function fault(event:Object):void<br />
		{<br />
			trace(&#8220;LOAD ARTICOLI x ordini!!!!&#8221;);<br />
			var myAlertAccessoNegato:Alert=Alert.show(&#8220;LOAD ARTICOLI X ORDINI&#92;nFALLITO&#8221;,&#8221;ERRORE&#8221;, Alert.OK, FlexGlobals.topLevelApplication as Sprite);<br />
			myAlertAccessoNegato.maxWidth=150;</p>
<p>		}<br />
	}</p>
<p>}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rudi</title>
		<link>http://probertson.com/articles/2010/04/02/air-sqlite-library-updates/#comment-75114</link>
		<dc:creator>rudi</dc:creator>
		<pubDate>Sat, 08 May 2010 17:36:18 +0000</pubDate>
		<guid isPermaLink="false">http://probertson.com/?p=432#comment-75114</guid>
		<description>the problem seems to be more articulate:
my first block of commands does one execute and then an executeModify, sometimes the same block is repeated 3 / 4 properly and then stops, sometimes I run the command first block correctly, the second time stops at the first execute, the third time the command stop to executeModify.
I do not understand where the problem is!</description>
		<content:encoded><![CDATA[<p>the problem seems to be more articulate:<br />
my first block of commands does one execute and then an executeModify, sometimes the same block is repeated 3 / 4 properly and then stops, sometimes I run the command first block correctly, the second time stops at the first execute, the third time the command stop to executeModify.<br />
I do not understand where the problem is!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rudi</title>
		<link>http://probertson.com/articles/2010/04/02/air-sqlite-library-updates/#comment-75112</link>
		<dc:creator>rudi</dc:creator>
		<pubDate>Sat, 08 May 2010 16:59:12 +0000</pubDate>
		<guid isPermaLink="false">http://probertson.com/?p=432#comment-75112</guid>
		<description>Hi, 
I can not run correctly the new version. I&#039;m trying to send to these two queries executeModify contemporary
var sql: String = &quot;UPDATE main.numeroOrdine set number = number +1, dataMod = DateTime (&#039;now&#039;, &#039;localtime&#039;) = utenteMod: utenteMod WHERE date =: inizioSerata;
var parameters: Object = new Object ();
parameters.inizioSerata = inizioSerata;
parameters.utenteMod modelPreferenze.getPreferenza = (modelPreferenze.UTENTELOGIN.) username;

var SQL2: String = &quot;SELECT * FROM WHERE date = main.numeroOrdine: inizioSerata;&quot;
parameters2 var: Object = new Object ();
parameters2 = new Object ();
parameters2.inizioSerata = inizioSerata;

initially, for the first time, it works.
but if I try to make the same request again no longer works.

then, because in sqlrunner
public function execute (sql: String, parameters: Object, handler: Function, itemClass: Class = null, data: Object = null): void
function errorHandler no longer exists?</description>
		<content:encoded><![CDATA[<p>Hi,<br />
I can not run correctly the new version. I&#8217;m trying to send to these two queries executeModify contemporary<br />
var sql: String = &#8220;UPDATE main.numeroOrdine set number = number +1, dataMod = DateTime (&#8216;now&#8217;, &#8216;localtime&#8217;) = utenteMod: utenteMod WHERE date =: inizioSerata;<br />
var parameters: Object = new Object ();<br />
parameters.inizioSerata = inizioSerata;<br />
parameters.utenteMod modelPreferenze.getPreferenza = (modelPreferenze.UTENTELOGIN.) username;</p>
<p>var SQL2: String = &#8220;SELECT * FROM WHERE date = main.numeroOrdine: inizioSerata;&#8221;<br />
parameters2 var: Object = new Object ();<br />
parameters2 = new Object ();<br />
parameters2.inizioSerata = inizioSerata;</p>
<p>initially, for the first time, it works.<br />
but if I try to make the same request again no longer works.</p>
<p>then, because in sqlrunner<br />
public function execute (sql: String, parameters: Object, handler: Function, itemClass: Class = null, data: Object = null): void<br />
function errorHandler no longer exists?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

