Herhangi bir veritabanı işlemini gerçekleştirmeden önce, bir veritabanı dosyası bağlantısı açın. Bir
SQLConnection
örneği, bir veya daha çok veritabanına bağlantıyı temsil etmek üzere kullanılır. SQLConnection örneği kullanılarak bağlanılan ilk veritabanı, “ana” veritabanı olarak bilinir. Bu veritabanına
open()
yöntemi (senkronize yürütme modu için) veya
openAsync()
yöntemi (senkronize olmayan yürütme modu için) kullanılarak bağlanılır.
Senkronize olmayan
openAsync()
işlemini kullanarak bir veritabanına bağlandığınızda,
openAsync()
işleminin ne zaman tamamlandığını bilmek için SQLConnection örneğinin
open
olayına kaydolun. İşlemin başarısız olup olmadığını belirlemek için SQLConnection örneğinin
error
olayına kaydolun.
Aşağıdaki örnek, senkronize olmayan yürütme için var olan bir veritabanı dosyasının nasıl açılacağını gösterir. Veritabanı dosyası “DBSample.db” adını taşır ve kullanıcının
Uygulama depolama dizinine işaret etme
içinde bulunur.
import flash.data.SQLConnection;
import flash.data.SQLMode;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
import flash.filesystem.File;
var conn:SQLConnection = new SQLConnection();
conn.addEventListener(SQLEvent.OPEN, openHandler);
conn.addEventListener(SQLErrorEvent.ERROR, errorHandler);
// The database file is in the application storage directory
var folder:File = File.applicationStorageDirectory;
var dbFile:File = folder.resolvePath("DBSample.db");
conn.openAsync(dbFile, SQLMode.UPDATE);
function openHandler(event:SQLEvent):void
{
trace("the database opened successfully");
}
function errorHandler(event:SQLErrorEvent):void
{
trace("Error message:", event.error.message);
trace("Details:", event.error.details);
}
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import flash.data.SQLConnection;
import flash.data.SQLMode;
import flash.events.SQLErrorEvent;
import flash.events.SQLEvent;
import flash.filesystem.File;
private function init():void
{
var conn:SQLConnection = new SQLConnection();
conn.addEventListener(SQLEvent.OPEN, openHandler);
conn.addEventListener(SQLErrorEvent.ERROR, errorHandler);
// The database file is in the application storage directory
var folder:File = File.applicationStorageDirectory;
var dbFile:File = folder.resolvePath("DBSample.db");
conn.openAsync(dbFile, SQLMode.UPDATE);
}
private function openHandler(event:SQLEvent):void
{
trace("the database opened successfully");
}
private function errorHandler(event:SQLErrorEvent):void
{
trace("Error message:", event.error.message);
trace("Details:", event.error.details);
}
]]>
</mx:Script>
</mx:WindowedApplication>
Aşağıdaki örnek, senkronize yürütme için var olan bir veritabanı dosyasının nasıl açılacağını gösterir. Veritabanı dosyası “DBSample.db” adını taşır ve kullanıcının
Uygulama depolama dizinine işaret etme
'inde bulunur.
import flash.data.SQLConnection;
import flash.data.SQLMode;
import flash.errors.SQLError;
import flash.filesystem.File;
var conn:SQLConnection = new SQLConnection();
// The database file is in the application storage directory
var folder:File = File.applicationStorageDirectory;
var dbFile:File = folder.resolvePath("DBSample.db");
try
{
conn.open(dbFile, SQLMode.UPDATE);
trace("the database opened successfully");
}
catch (error:SQLError)
{
trace("Error message:", error.message);
trace("Details:", error.details);
}
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import flash.data.SQLConnection;
import flash.data.SQLMode;
import flash.errors.SQLError;
import flash.filesystem.File;
private function init():void
{
var conn:SQLConnection = new SQLConnection();
// The database file is in the application storage directory
var folder:File = File.applicationStorageDirectory;
var dbFile:File = folder.resolvePath("DBSample.db");
try
{
conn.open(dbFile, SQLMode.UPDATE);
trace("the database opened successfully");
}
catch (error:SQLError)
{
trace("Error message:", error.message);
trace("Details:", error.details);
}
}
]]>
</mx:Script>
</mx:WindowedApplication>
Senkronize olmayan örnekteki
openAsync()
yöntemi çağrısı ve senkronize örnekteki
open()
yöntemi çağrısında ikinci argümanın
SQLMode.UPDATE
sabiti olduğunu unutmayın. İkinci parametre (
openMode
) için
SQLMode.UPDATE
öğesinin belirlenmesi, belirtilen dosya mevcut değilse çalışma zamanının bir hata göndermesine neden olur.
openMode
parametresi için
SQLMode.CREATE
iletirseniz (veya
openMode
parametresini bırakırsanız), belirtilen dosya mevcut değilse çalışma zamanı bir veritabanı dosyası oluşturmaya çalışır. Ancak, dosya mevcutsa,
SQLMode.Update
kullanmanızla aynı anlama gelecek şekilde açılır. Var olan bir veritabanını salt okunur modda açmak üzere,
openMode
parametresi için
SQLMode.READ
de belirleyebilirsiniz. Bu durumda veriler veritabanından alınabilir, ancak veriler eklenemez, silinemez veya değiştirilemez.