Solved

Adobe AIR/SQLlite ArrayCollection error

Posted on 2009-05-12
1
573 Views
Last Modified: 2013-11-11
I am connecting to a SQLite database. I want to return the results as an array collection to display in a datagrid, but i am getting the following error:

Severity and Description      Path      Resource      Location      Creation Time      Id
Type was not found or was not a compile-time constant: data. [Generated code (use -keep to save): Path: data-generated.as, Line: 156, Column: 14]            hitAndRun      Unknown      1242153146345      3006

When i debug the application the results are returned correctly in an array but there is an error when my datagrid isnt commented out. thanks in advance.
<?xml version="1.0" encoding="utf-8"?>

<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" 

	layout="vertical" creationComplete="init()">

	

	<mx:Script>

		<![CDATA[

			import mx.collections.ArrayCollection;

			

			private var sqlConn:SQLConnection;

			private var sqlFile:File;

			

			[Bindable]

			private var acPeeps:ArrayCollection;

			

			private function init():void

			{

				sqlFile = File.applicationStorageDirectory.resolvePath("motility.db");

				sqlConn = new SQLConnection();

				sqlConn.open(sqlFile, SQLMode.CREATE);

				

				var stmt:SQLStatement = new SQLStatement();

				stmt.sqlConnection = sqlConn;

				stmt.text = "CREATE TABLE IF NOT EXISTS motility(" + 

						"playerid INTEGER PRIMARY KEY AUTOINCREMENT, " + 

						"date DATE, " + 

						"LtoRmostinarowBB TEXT, " + 

						"RtoLmostinarowBB TEXT, " + 

						"LtoRhitsBB TEXT, " + 

						"RtoLhitsBB TEXT)";

 

				 stmt.execute();

				 var result:SQLResult = stmt.getResult();

				 trace("Table was created");

			}

			

			private function createRecord():void

			{

				var stmt:SQLStatement = new SQLStatement();

				stmt.sqlConnection = sqlConn;

				stmt.text = 

				"INSERT INTO motility(" + 

				"date, LtoRmostinarowBB, RtoLmostinarowBB, " + 

				"LtoRhitsBB, RtoLhitsBB) " + 

				"VALUES (" + 

				"'03-12-2009', '18', '4', '30', '33')";
 

				stmt.execute();

				var result:SQLResult = stmt.getResult();

				trace("Data inserted");

			}

			

			private function retrieveData():void

			{

			

				var stmt:SQLStatement = new SQLStatement();

				stmt.sqlConnection = sqlConn;

				stmt.text = "SELECT * FROM motility";

				stmt.execute();

				var result:SQLResult = stmt.getResult();

				

				acPeeps = new ArrayCollection(result.data);

				

			}

			

		]]>

	</mx:Script>

	

	

	

	<mx:Button x="284" y="158" label="Insert Data" click="createRecord()"/>

	<mx:Button x="284" y="158" label="Retreive Data" click="retrieveData()"/>

	<!--<mx:DataGrid dataProvider="{acPeeps}"/>-->

	

</mx:WindowedApplication>

Open in new window

0
Comment
Question by:rarid122481
1 Comment
 
LVL 5

Accepted Solution

by:
Fuzzy_Logic_ earned 500 total points
ID: 24373392
The only thing I can see wrong here is that the date value you are trying to insert is not of the correct format.

It should be: YYYY-MM-DD

try changing 03-12-2009 to 2009-12-03 (I'm assuming you mean 3rd December)

Regards FL
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
AWAY 3d Using BitMapCubeTexture 1 402
Action Script commands 4 305
Adobe Flash Player won't install on Windows 7 3 228
Converting CFGRID from Flash to HTML in Coldfusion 1 90
This is intended to introduce all collision detection principles in flash, their strengths, weaknesses and workarounds. The main method for Collision Detection in flash is using hitTestObject. But unless you'll be pushing rectangular shapes without …
In my long career of working as an actionscript developer, I had spent sleepless night often working hard to solve some small problems which actually took a lot of my development time; later found out the solutions to be a line or two. Here are s…
The goal of the tutorial is to teach the user how to how to load their YouTube profile onto Flash Media Live Encoder.
The goal of the tutorial is to teach the user how to use the auto adjust feature and what the different options do. When your video is not working right you can choose the auto adjust feature to help choose your settings.

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now