on debug level it evaluates to NaN, which should insert as NULL.but then
remember
var n:Number; // == NaN
var p:Number = n + 1;//==NaN

var q:int = n+1;//==0

On Mon, Nov 24, 2008 at 9:01 PM, Charlie Hubbard
<[EMAIL PROTECTED]>wrote:

>   So if I can sum up your email very clearly.  I'd say:
>
> DO NOT use int, use Number, because that's what Air's database connection
> layer is going to return you.
>
> If you use int data type for fields you'll get zeros.  With Number it's
> will propagate NULLs correctly.
>
> Thanks,
> Charlie
>
> On Mon, Nov 24, 2008 at 12:18 AM, jason_williams_mm <
> [EMAIL PROTECTED]> wrote:
>
>>   --- In [email protected] <flexcoders%40yahoogroups.com>,
>> "Charlie Hubbard"
>> <[EMAIL PROTECTED]> wrote:
>> >
>> > I've read over all of the docs on Air, but there seems to be a missing
>> > discussion around NULL values in SQLLite and how those map back to
>> > datatypes. What I've found is that if I have an int field type I
>> can't get
>> > a NULL value to ever get inserted into the SQLLite. It just ends up
>> > inserting 0 (zero). In Java we'd just convert to using a true
>> Object like
>> > Integer class, and that would handle this problem for us. What is the
>> > equivalent with Actionscript? If you want NULLs and numbers what is an
>> > object and a number, and will Air convert between the two correctly?
>> >
>> > Thanks
>> > Charlie
>> >
>>
>> It would help to see the code that you are using, however, the
>> following code gives the same results in both 1.5 and 1.1:
>>
>> <?xml version="1.0" encoding="utf-8"?>
>> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml";
>> layout="absolute" creationComplete="run()">
>> <mx:Script>
>> <![CDATA[
>> import mx.utils.ObjectUtil;
>>
>> private function run():void
>> {
>> trace(NativeApplication.nativeApplication.runtimeVersion);
>> var con:SQLConnection = new SQLConnection();
>> con.open(File.applicationStorageDirectory.resolvePath("nulltesting.db"));
>> var sql:SQLStatement = new SQLStatement();
>> sql.sqlConnection = con;
>> sql.text = "CREATE TABLE test (id integer);";
>> sql.execute();
>>
>> sql.text = "INSERT INTO test VALUES(null);";
>> sql.execute();
>>
>> sql.text = "INSERT INTO test VALUES(1);";
>> sql.execute();
>>
>> sql.text = "INSERT INTO test VALUES(2);";
>> sql.execute();
>>
>> sql.text = "INSERT INTO test VALUES(3);";
>> sql.execute();
>>
>> sql.text = "SELECT * FROM test;";
>> sql.execute();
>> trace(ObjectUtil.toString(sql.getResult().data));
>> }
>> ]]>
>> </mx:Script>
>> </mx:WindowedApplication>
>>
>> ------ trace output ------
>>
>> (Array)#0
>> [0] (Object)#1
>> id = (null)
>> [1] (Object)#2
>> id = 1
>> [2] (Object)#3
>> id = 2
>> [3] (Object)#4
>> id = 3
>>
>> Each of the values returned in the object is a Number. Hope that
>> helps some.
>>
>> jw
>>
>>
>  
>



-- 
j:pn
\\no comment

Reply via email to