Reputation: 35684
How do I get a Boolean value in AS3 whether a table or an entry exists in the database?
Upvotes: 3
Views: 7415
Reputation: 98
can be useful for someone - for async connection:
connection.loadSchema();
connection.addEventListener(SQLEvent.SCHEMA, check_result);
private function check_result(event:SQLEvent):void{
var schema:SQLSchemaResult = connection.getSchemaResult();
//as above
}
Upvotes: 1
Reputation: 596
As opposed to finding it manually with SQL you should use the built in Schema information classes/functions. Here is an example of how it would work.
public function doesTableExist(connection:SQLConnection, tableName:String):Boolean
{
connection.loadSchema();
var schema:SQLSchemaResult = connection.getSchemaResult();
for each (var table:SQLTableSchema in schema.tables)
{
if (table.name.toLowerCase() == tableName.toLowerCase())
{
return true;
}
}
return false;
}
Upvotes: 10
Reputation: 1378
There is no simple statement to achieve boolean value, but you can:
use PRAGMA table_info(tbl_status)
and analize list.
try to execute SELECT col FROM table_name
in try...catch block, in case of error simply set variable to bool.
BTW, maybe you need to use IF NOT EXISTS
in create statement for table, index creation...
Upvotes: 2