?
Solved

Adobe AIR/SQLlite ArrayCollection error

Posted on 2009-05-12
1
Medium Priority
?
594 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 5

Accepted Solution

by:
Fuzzy_Logic_ earned 2000 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

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Recently, I was asked to recommend a tracking system to be implemented on a clients website. As the entire site was built on flash, my first thought was to suggest custom built tracking system. However, our company at that point of time didn't h…
The last time I worked with Flash and Socket connections was in AS1. A recent project required flash connecting to a Socket, and sending receiving information - we figured it would be easy enough - we all know about the socket policy documents and c…
The goal of the tutorial is to teach the user how to live broadcast using Flash Media Live Encoder and connecting it to YouTube to broadcast. Log into your Youtube account, choose live stream settings, start live stream from Flash Media Live Enc…
The goal of the tutorial is to teach the user what frame rate is, how to control it and what effect it has on the video.
Suggested Courses
Course of the Month11 days, 16 hours left to enroll

752 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