Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 599
  • Last Modified:

Adobe AIR/SQLlite ArrayCollection error

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
rarid122481
Asked:
rarid122481
1 Solution
 
Fuzzy_Logic_Commented:
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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now