Paket | flash.data |
Sınıf | public class SQLStatement |
Miras Alma | SQLStatement EventDispatcher Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
SQLConnection örneği, SQLStatement örneğinin sqlConnection
özelliği değeri olarak ayarlanıp SQLStatement bir SQLConnection örneğine bağlıdır. text
özelliği, çalıştırılacak gerçek SQL ifadesi metniyle doldurulur. Gerekirse, parameters
özelliği kullanılarak SQL statement parametresi belirtilir ve execute()
yöntemi çağrılarak ifade yerine getirilir.
Yerel SQL veritabanlarında desteklenen SQL dilinin tam açıklaması için Yerel veritabanlarında SQL desteği ekine bakın.
Eşzamansız çalıştırma modunda, arka planda execute()
ve next()
yöntemleri çalıştırılır ve işlemler tamamlandığında veya başarısız olduğunda çalışma zamanı, kayıtlı olay dinleyicilerine ya da belirtilen bir Responder örneğine olaylar gönderir. Eşzamanlı modunda, yöntemler ana uygulama iş parçasında çalıştırılır, başka bir deyişle, veritabanı işlemleri tamamlanıncaya kadar başka kod çalıştırılmaz. Ayrıca eşzamanlı modunda, yöntemler başarısız olursa, çalışma zamanı bir error olayı göndermek yerine bir istisna atar.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
executing : Boolean [salt okunur]
İfadenin geçerli olarak çalıştırılıp çalıştırılmadığını belirtir. | SQLStatement | ||
itemClass : Class
İfadenin çalıştırılması sonucunda döndürülen satırların her biri için kullanılan bir sınıfı (veri türü) belirtir. | SQLStatement | ||
parameters : Object [salt okunur]
SQL ifadesinin text özelliğinde belirtilen parametreler için değer eklediğiniz ilişkilendirilebilir bir dizi görevi görür. | SQLStatement | ||
sqlConnection : SQLConnection
İfadenin çalıştırıldığı veritabanına veya veritabanlarına bağlantıyı yöneten SQLConnection nesnesi. | SQLStatement | ||
text : String
İfadenin gerçek SQL metni. | SQLStatement |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Bir SQLStatement örneği oluşturur. | SQLStatement | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
Bu ifadenin çalıştırılmasını iptal eder. | SQLStatement | ||
Tüm geçerli parametre ayarlarını temizler. | SQLStatement | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
sqlConnection özelliğinde SQLConnection nesnesine bağlı olan veritabanına karşı text özelliğinde SQL'yi çalıştırır. | SQLStatement | ||
SELECT ifadesindeki sonuç satırları ve çalıştırılan tüm ifadelerin ifade çalıştırması hakkındaki diğer bilgiler dahil olmak üzere, ifade çalıştırmanın sonuçlarını içeren bir SQLResult nesnesine erişilmesini sağlar. | SQLStatement | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
SELECT ifadesinin sonuç kümesinin bir sonraki bölümünü alır. | SQLStatement | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
Olay | Özet | Tanımlayan: | ||
---|---|---|---|---|
[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. | EventDispatcher | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | |||
Bir işlem sırasında hata oluştuğunda gönderilir. | SQLStatement | |||
Bir execute() veya next() yöntemi çağrısının işlemi başarıyla tamamlandığında gönderilir. | SQLStatement |
executing | özellik |
executing:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
İfadenin geçerli olarak çalıştırılıp çalıştırılmadığını belirtir.
execute()
çağrılmışsa ve tüm sonuçlar veritabanından döndürülmemişse bu özellik true olur.
Uygulama
public function get executing():Boolean
İlgili API Öğeleri
itemClass | özellik |
itemClass:Class
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
İfadenin çalıştırılması sonucunda döndürülen satırların her biri için kullanılan bir sınıfı (veri türü) belirtir.
Varsayılan olarak, nesne özelliklerinin adları olarak sonuç kümesinin sütun adları ve her sütunun ilişkilendirilmiş özellik değeri olarak her sütunun değeri bulunurken bir SELECT
ifadesinin döndürdüğü her satır bir Object nesnesi olarak oluşturulur.
itemClass
özelliği için bir sınıf belirtildiğinde, bu SQLStatement örneğinin çalıştırdığı bir SELECT
ifadesi tarafından döndürülen her satır, atanan sınıfın bir örneği olarak oluşturulur. itemClass
örneğinin her özelliğine, özellikle ile aynı ada sahip sütundaki değer atanır.
Bu özelliğe atanan tüm sınıfların parametre gerektirmeyen bir yapıcısının olması gerekir. Ayrıca, SELECT
ifadesinin döndürdüğü her sütun için sınıfın tek bir özelliği olması gerekir. SELECT
listesindeki bir sütunun itemClass
sınıfında eşlenen bir özellik adı yoksa, bu bir hata olarak değerlendirilir.
Uygulama
public function get itemClass():Class
public function set itemClass(value:Class):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
SELECT
deyimi sonuçlarından özel sınıf örnekleri oluşturmasını sağlamak için itemClass
özelliğini kullanmayı gösterir.
// Employee class definition package { public class Employee { public var name:String; public var ssn:String; public var id:uint; public override function toString():String { return "id: "+ id.toString() + " name: " + name + " ssn: " + ssn; } } } // using the Employee class as SQLStatement.itemClass var conn:SQLConnection; var dbStatement:SQLStatement; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; dbStatement.itemClass = Employee; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { dbStatement.addEventListener(SQLEvent.RESULT, resultHandler); dbStatement.execute(); } function resultHandler(event:SQLEvent):void { var result:SQLResult = dbStatement.getResult(); if (result != null) { var emp:Employee; var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { emp = result.data[i]; trace(emp.toString()); } } }
parameters | özellik |
parameters:Object
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
SQL ifadesinin text
özelliğinde belirtilen parametreler için değer eklediğiniz ilişkilendirilebilir bir dizi görevi görür. Dizi anahtarları, parametrelerin adıdır. İfade metninde adsız bir parametre belirtilirse, bunun anahtarı parametrenin dizinidir.
SQL ifadesinin metni içinde, bir parametre şu karakterlerden biriyle belirtilir: "?", ":" veya "@".
":" ve "@" simgeleri adlandırılmış bir parametreyi belirtir; simgeleri takip eden karakterler parametrenin adını belirtir.
Örneğin, şu SQL ifadesinde ":" karakteri kullanılarak firstName
adında bir parametre belirtilir:
SELECT FROM employees WHERE firstName = :firstName
"?" simgesi dizinli (numaralı) bir parametreyi belirtir; ifade metnindeki parametrelerin sırasına göre her parametreye otomatik olarak bir dizin belirtilir. Parametre dizin değerleri sıfır temellidir. Başka bir deyişle, birinci parametrenin dizini 0'dır.
SQl ifadesi oluşturulduğu anda bilinmeyen değerlerin tür karşılığına izin vermek için parametreler kullanılır. Bir değer için saklama sınıfının veritabanına iletilmesini garantilemenin tek yolu parametreleri kullanmaktır. Parametreler kullanılmadığında, ilişkilendirilmiş sütunun tür benzeşmesi esas alınarak tüm değerler metin temsilinden saklama sınıfına dönüştürülür. Saklama sınıfları ve sütun benzeşmesi hakkında daha fazla bilgi için, "Yerel veritabanlarında SQL desteği" ekinde "Veri türü desteği" bölümüne bakın.
SQL enjeksiyon atağı olarak bilinen zararlı bir tekniği önlemek için güvenlik önlemi olarak da parametreler kullanılır. SQL enjeksiyon atağında bir kullanıcı, kullanıcı tarafından erişilebilir bir konuma (örneğin, bir veri giriş alanı) SQL kodunu girer. Uygulama kodu, doğrudan kullanıcı girdisini SQL metniyle birleştirerek bir SQL ifadesi oluşturur, veritabanına karşı kullanıcı tarafından girilen SQL kodu çalıştırılır. Şu liste, kullanıcı girdisinin SQL metniyle birleştirilmesinin bir örneğini gösterir. Bu tekniği kullanmayın:
// assume the variables "username" and "password" // contain user-entered data var sql:String = "SELECT userId " + "FROM users " + "WHERE username = '" + username + "' " + " AND password = '" + password + "'"; var statement:SQLStatement = new SQLStatement(); statement.text = sql;
Kullanıcı tarafından girilen değerlerin bir ifadenin metniyle birleştirilmesi yerine statement parametrelerinin kullanılması SQL enjeksiyon atağını önler, bunun nedeni, parametre değerlerinin değişmez ifade metninin bir parçası olmak yerine açıkça yedek değerler olarak değerlendirilmesidir. Önceki listeye alternatif olarak şunlar önerilir:
// assume the variables "username" and "password" // contain user-entered data var sql:String = "SELECT userId " + "FROM users " + "WHERE username = :username " + " AND password = :password"; var statement:SQLStatement = new SQLStatement(); statement.text = sql; // set parameter values statement.parameters[":username"] = username; statement.parameters[":password"] = password;
İfadenin çalıştırılması için öncelikle tüm parametre değerlerinin ayarlanması gerekir. parameters
dizisinde belirtilen parametre değerleri, execute()
yöntemi çağrıldığında bağlıdır. (Yani, ifade metniyle birleştirilmiştir.) execute()
çağrıldıktan sonra, değerlere yapılan sonraki değişiklikler çalıştırılan ifadeye uygulanmaz. Ancak, sonraki execute()
çağrısında, değiştirilen değerler kullanılır. Deyim metni, parameters
özelliğinde belirtilen bir değere sahip olmayan parametre içerirse, hata oluşur.
parameters
özelliğinden tüm parametre değerlerini temizlemek için clearParameters()
yöntemini kullanın.
Uygulama
public function get parameters():Object
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
:firstName
olarak adlandırılan parametrenin bir SQL ifadesinde kullanımını gösterir.
// employees is a SQLStatement instance employees.text = "SELECT FROM employees WHERE first = :firstName"; employees.parameters[":firstName"] = "Sam"; employees.execute();
// employees is a SQLStatement instance employees.text = "SELECT FROM employees WHERE first = ?"; employees.parameters[0] = "Sam"; employees.execute();
sqlConnection | özellik |
sqlConnection:SQLConnection
Çalışma Zamanı Sürümleri: | AIR 1.0 |
İfadenin çalıştırıldığı veritabanına veya veritabanlarına bağlantıyı yöneten SQLConnection nesnesi.
Uygulama
public function get sqlConnection():SQLConnection
public function set sqlConnection(value:SQLConnection):void
Atar
IllegalOperationError — İfade çalıştırılırken bu özelliğin değerini değiştirme girişiminde bulunulduğunda.
|
text | özellik |
text:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
İfadenin gerçek SQL metni.
Metin desteklenen herhangi bir SQL olabilir. Yerel SQL veritabanlarında desteklenen SQL dilinin tam açıklaması için "Yerel veritabanlarında SQL desteği" ekine bakın.
Uygulama
public function get text():String
public function set text(value:String):void
Atar
IllegalOperationError — İfade çalıştırılırken text özelliğinin değerini değiştirme girişiminde bulunulduğunda.
|
SQLStatement | () | Yapıcı |
public function SQLStatement()
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bir SQLStatement örneği oluşturur.
Atar
SecurityError — Yapıcı, ana uygulama sanal alanı dışındaki herhangi bir sanal alandan çağrılırsa.
|
cancel | () | yöntem |
public function cancel():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bu ifadenin çalıştırılmasını iptal eder. SQLConnection.cancel()
gibi bu yöntem de uzun süredir çalışan bir sorguyu durdurmak veya henüz tamamlanmamış bir sorguyu iptal etmek için kullanılır. Ancak SQLConnection.cancel()
yönteminden farklı olarak bu yöntem yalnızca tek bir ifadeyi iptal eder. İfade geçerli olarak çalıştırılmıyorsa, bu yöntemin çağrılması herhangi bir şey yapmaz.
cancel()
işleminin tamamlanmasına verilen doğrudan yanıtta herhangi bir olay gönderilmez. Ancak, cancel()
işlemi tamamlandıktan ve ifade çalıştırması iptal edildikten sonra, SQLStatement örneği, ifade çalıştırmasının (execute()
veya next()
çağrısı) tamamlanmadığını belirten bir error
olayı gönderir. Alternatif olarak, execute()
veya next()
çağrısının responder
parametresi için bir değer belirtildiyse, belirtilen fault handler yöntemi çağrılır. Her iki durumda da, dinleyicilere iletilen SQLError örneğinin 3118 değerine (İşlem durduruldu) sahip bir errorID
özelliği vardır.
clearParameters | () | yöntem |
public function clearParameters():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Tüm geçerli parametre ayarlarını temizler.
İlgili API Öğeleri
execute | () | yöntem |
public function execute(prefetch:int = -1, responder:Responder = null):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
sqlConnection
özelliğinde SQLConnection nesnesine bağlı olan veritabanına karşı text
özelliğinde SQL'yi çalıştırır.
responder
argümanı null
olmazsa, belirtilen Responder nesnesi, işlemin sonuçlarını işlemek için çağrılan yöntemleri belirtir. responder
argümanı null
olursa, eşzamansız çalıştırma modunda işlem başarılı olduğunda bir result
olayı veya işlem başarısız olduğunda bir error
olayı gönderilir.
SELECT
deyiminin sonuç satırları veya INSERT
deyiminin veritabanı tarafından üretilen birincil anahtarı gibi bir deyimin sonuçlarına erişmek için, getResult()
yöntemini çağırın. Deyim eşzamanlı modda çalıştırıldıktan hemen sonra ve eşzamansız modda result
olayı gönderildiğinde sonuçlar kullanılabilir.
Her ifadenin çalıştırılabilmesi için öncelikle hazırlanması (derlenmesi) gerekir. Bir SQLStatement örneğinin execute()
yöntemi ilk çağrıldığında, ifade çalışma zamanı tarafından hazırlanır. Bir ifade hazırlandıktan sonra, text
özelliği değişmediği sürece ifadenin tekrar hazırlanması gerekmez. Bir veya daha fazla parametre değerinin ayarlanması için, ifadenin tekrar hazırlanması gerekmez.
Parametreler
prefetch:int (default = -1 ) — İfadenin text özelliği bir SELECT ifadesi olduğunda, bu değer ifade tarafından bir defada kaç tane satır döndürüldüğünü belirtir. Varsayılan değer -1 olup bu, tüm sonuç satırlarının bir defada döndürüldüğünü belirtir. Büyük sonuç kümelerini daha küçük veri kümelerine bölmek için, bu parametre next() yöntemiyle bağlantılı olarak kullanılır. Bu, başlangıç sonuçlarını daha hızlı döndürüp sonuç işleme işlemlerini bölerek kullanıcıların uygulama performansını algılamasını iyileştirebilir.
SQL ifadesi bir | |
responder:Responder (default = null ) — İşlem başarılı veya başarısız olduğunda çağrılacak yöntemleri atayan bir nesne. Eşzamansız çalıştırma modunda, responder argümanı null olursa, çalıştırma tamamlandığında bir result veya error olayı gönderilir.
|
Olaylar
result: — Deyim çalıştırma başarıyla tamamlandığında veya bir prefetch argümanı değeri belirtildiğinde gönderilir ve bir SELECT deyimi bir ya da birkaç veri satırı döndürür.
| |
error: — İşlem eşzamansız çalıştırma modunda başarısız olduğunda gönderilir.
|
Atar
IllegalOperationError — text özelliği null olursa veya boş bir dize ("" ) içerirse; sqlConnection özelliği ayarlanmadıysa; sqlConnection özelliğine atanan SQLConnection örneği bağlı değilse veya ifade geçerli olarak çalıştırılıyorsa.
| |
SQLError — İşlem eşzamanlı çalıştırma modunda başarısız olduğunda.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
var conn:SQLConnection; var dbStatement:SQLStatement; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { dbStatement.addEventListener(SQLEvent.RESULT, resultHandler); dbStatement.addEventListener(SQLErrorEvent.ERROR, errorHandler); dbStatement.execute(); } function resultHandler(event:SQLEvent):void { var result:SQLResult = dbStatement.getResult(); if (result != null) { var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { var row:Object = result.data[i]; trace("id:", row.id, ", name:", row.name, ", ssn:", row.ssn); } } } function errorHandler(event:SQLErrorEvent):void { trace("An error occured while executing the statement."); }
var conn:SQLConnection; var dbStatement:SQLStatement; var employeeResponder:Responder; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { employeeResponder = new Responder(resultHandler, errorHandler); dbStatement.execute(-1, employeeResponder); } function resultHandler(result:SQLResult):void { if (result != null) { var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { var row:Object = result.data[i]; trace("id:", row.id, ", name:", row.name, ", ssn:", row.ssn); } } } function errorHandler(error:SQLError):void { trace("An error occured while executing the statement."); }
getResult | () | yöntem |
public function getResult():SQLResult
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
SELECT
ifadesindeki sonuç satırları ve çalıştırılan tüm ifadelerin ifade çalıştırması hakkındaki diğer bilgiler dahil olmak üzere, ifade çalıştırmanın sonuçlarını içeren bir SQLResult nesnesine erişilmesini sağlar. Eşzamansız çalıştırma modunda, result
olayı gönderilinceye kadar sonuç bilgileri kullanılamaz.
Bir SELECT
ifadesi çalıştırıldığında, varsayılan -1 prefetch
argümanıyla execute()
yöntemi çağrılırsa, döndürülen SQLResult nesnesi, sorgunun tüm sonuç kümesini içerir.
execute()
veya next()
yöntemi çağrısı için bir prefetch
argümanı belirtilirse, getResult()
yöntemi, sonuçların ilk giren ilk çıkar kaidesiyle oluşturulmuş bir sırası gibi hareket eder. result
olayı her gönderildiğinde, yeni bir SQLResult nesnesi sıraya eklenir. getResult()
yöntemi her çağrıldığında, en eski SQLResult nesnesi (kuyruğa ilk eklenen) döndürülür ve kuyruktan kaldırılır. Kuyrukta başka SQLResult nesnesi kalmadığında, getResult()
yöntemi null
değerini döndürür.
getResult()
çağrısıyla kaldırılmadığı sürece SQLResult nesnelerinin kuyrukta kaldığını unutmayın. Örneğin, getResult()
çağrılmadan birden çok defa execute()
yöntemi çağrılırsa, her bir execute()
çağrısıyla ilişkilendirilmiş SQLResult nesnesi kuyrukta kalır.
SQLResult — execute() veya next() yöntemine yapılan bir çağrının sonucunu içeren bir SQLResult nesnesi.
|
İlgili API Öğeleri
next | () | yöntem |
public function next(prefetch:int = -1, responder:Responder = null):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
SELECT
ifadesinin sonuç kümesinin bir sonraki bölümünü alır. Sonuç kümesinde başka satır yoksa, bir result
olayı gönderilir ancak getResult()
sırasına ek bir SQLResult nesnesi eklenmez.
Eşzamansız çalıştırma modunda, responder
argümanı null
olmazsa, belirtilen Responder nesnesi, işlemin sonuçlarını işlemek için çağrılan yöntemleri belirtir. responder
argümanı null
olursa, işlem başarılı olduğunda bir result
olayı veya işlem başarısız olduğunda bir error
olayı gönderilir.
Bu yöntem ancak ifade halen çalıştırılıyorken çağrılabilir. İfade bir SELECT
sorgusu olduğunda ve sıfırdan büyük bir prefetch
argümanı belirtildiğinde, ifadenin sonuç kümesinin tamamı döndürülünceye kadar çalıştırıldığı düşünülür ya da SQLStatement.cancel()
veya SQLConnection.cancel()
yöntemi çağrılır.
Parametreler
prefetch:int (default = -1 ) — İfadenin text özelliği bir SELECT ifadesi olduğunda, bu değer ifade tarafından bir defada kaç tane satır döndürüldüğünü belirtir. Varsayılan değer -1 olup bu, tüm sonuç satırlarının bir defada döndürüldüğünü belirtir. Bu, başlangıç sonuçlarını daha hızlı döndürüp sonuç işleme işlemlerini bölerek kullanıcıların uygulama performansını algılamasını iyileştirebilir.
| |
responder:Responder (default = null ) — İşlem başarılı veya başarısız olduğunda çağrılacak yöntemleri atayan bir nesne. responder argümanı null olursa, çalıştırma tamamlandığında bir result veya error olayı gönderilir.
|
Olaylar
result: — Deyim çalıştırma başarıyla tamamlandığında veya bir prefetch argümanı değeri belirtildiğinde gönderilir ve next() çağrısı bir ya da birkaç veri satırı döndürür.
| |
error: — İşlem eşzamansız çalıştırma modunda başarısız olduğunda gönderilir.
|
Atar
IllegalOperationError — İfade geçerli olarak çalıştırılmıyorken yöntem çağrıldığında (executing özelliği false değerindedir).
| |
SQLError — işlem eşzamanlı çalıştırma modunda başarısız olduğunda.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
complete
özelliğini kontrol eder ve tüm satırlar alınmadıysa next()
yöntemini çağırır.
var conn:SQLConnection; var dbStatement:SQLStatement; function init():void { conn = new SQLConnection(); conn.addEventListener(SQLEvent.OPEN, connOpenHandler); dbStatement = new SQLStatement(); dbStatement.sqlConnection = conn; dbStatement.text = "SELECT id, name, ssn FROM employees"; var dbFile:File = new File(File.separator + "employee.db"); conn.open(dbFile); } function connOpenHandler(event:SQLEvent):void { dbStatement.addEventListener(SQLEvent.RESULT, resultHandler); dbStatement.addEventListener(SQLErrorEvent.ERROR, errorHandler); dbStatement.execute(10); } function resultHandler(event:SQLEvent):void { var result:SQLResult = dbStatement.getResult(); if (result != null) { var numRows:int = result.data.length; for (var i:int = 0; i < numRows; i++) { var row:Object = result.data[i]; trace("id:", row.id, ", name:", row.name, ", ssn:", row.ssn); } if (!result.complete) { dbStatement.next(10); } } } function errorHandler(event:SQLErrorEvent):void { trace("An error occured while executing the statement."); }
error | Olay |
flash.events.SQLErrorEvent
özellik SQLErrorEvent.type =
flash.events.SQLErrorEvent.ERROR
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bir işlem sırasında hata oluştuğunda gönderilir.
SQLErrorEvent.ERROR
sabiti, SQLConnection veya SQLStatement örneğinin yöntemine yapılan çağrı hatayla tamamlandığında gönderilen bir error olayının type
özelliği değerini tanımlar. error
olayı şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
error | Oluşan hata türü ve hataya neden olan işlemle ilgili bilgi içeren bir SQLError nesnesi. |
currentTarget | Olay nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Hata bildiren SQLConnection veya SQLStatement nesnesi. |
İlgili API Öğeleri
result | Olay |
flash.events.SQLEvent
özellik SQLEvent.type =
flash.events.SQLEvent.RESULT
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bir execute()
veya next()
yöntemi çağrısının işlemi başarıyla tamamlandığında gönderilir. result
olayı gönderildikten sonra, ifade sonuçlarını almak için getResult()
yöntemi çağrılabilir.
SQLEvent.RESULT
sabiti, result
olay nesnesinin type
özelliği değerini tanımlar. SQLStatement.execute()
yöntemi veya SQLStatement.next()
yöntemi başarıyla tamamlandığında gönderilir. SQLEvent.RESULT
olayı gönderildikten sonra, sonuç verilerine erişmek için SQLStatement.getResult()
yöntemi çağrılabilir. result
olayı şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Olay nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | İşlemi gerçekleştiren SQLStatement nesnesi. |
İlgili API Öğeleri
Tue Jun 12 2018, 01:09 PM Z