Paket | flash.data |
Sınıf | public class SQLResult |
Miras Alma | SQLResult Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
SQLStatement.getResult()
yöntemi çağrılarak veya SQLStatement.execute()
ya da SQLStatement.next()
öğesine yapılan bir çağrıda belirtilen Responder örneğinin sonuç işleyicisine bir argüman iletildiğinde bir SQL ifadesinin SQLResult örneğine erişilir. Genel olarak, geliştirici kodu SQLResult örneklerini doğrudan oluşturmaz.
SELECT
deyiminin döndürdüğü veri satırlarına erişmek (data
özelliği kullanılarak), INSERT
ifadesi hakkındaki ham kimlik bilgileri almak (lastInsertRowID
özelliği kullanılarak), INSERT
, UPDATE
ya da DELETE
ifadesi tarafından etkilenen satır sayısını belirlemek (rowsAffected
özelliği kullanılarak) veya alınmamış ek SELECT
sonuç satırları olup olmadığını belirlemek (complete
özelliği kullanılarak) için bir SQLResult nesnesi kullanılır.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
complete : Boolean [salt okunur]
Bir ifade çalıştırması sonucunda ortaya çıkan tüm verilerin döndürülmüş olup olmadığını belirtir. | SQLResult | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
data : Array [salt okunur]
İfade çalıştırmasının sonucunda, özellikle de bir SQL SELECT ifadesi çalıştırıldığında döndürülen veriler. | SQLResult | ||
lastInsertRowID : Number [salt okunur]
Bir SQL INSERT ifadesi tarafından en son oluşturulan satır kimliği. | SQLResult | ||
rowsAffected : Number [salt okunur]
İşlem tarafından kaç tane satırın etkilendiğini belirtir. | SQLResult |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Bir SQLResult örneği oluşturur. | SQLResult | ||
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 | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
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 |
complete | özellik |
complete:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bir ifade çalıştırması sonucunda ortaya çıkan tüm verilerin döndürülmüş olup olmadığını belirtir.
Bir ifade bir veya daha fazla satır döndürdüğünde, bu özellik tüm satırların döndürülmüş olup olmadığını belirtir. prefetch
argüman değeriyle bir SQLStatement nesnesinin execute()
yöntemi çağrıldığında, sonuçta ortaya çıkan verinin yalnızca belirtilen sayıdaki satırı SQLResult nesnesinin data
özelliğinde döndürülür. SQLStatement.next()
öğesine yapılan sonraki çağrılar ek verilerin kullanılabilir olmasını sağlar. Son sonuçların ne zaman döndürüldüğünü belirlemek için bu özellik kullanılır.
Çalıştırma süresinde satır sayısı bilinmediğinden, bir ifade çalıştırmasının tamamlanmış olarak değerlendirilmesi için öncelikle veritabanı imlecinin son satırın ötesine taşınması gerekir. prefetch
argümanıyla SQLStatement.execute()
yöntemi çağrıldığında, sonuçta ortaya çıkan SQLResult örneğinin complete
özelliği true
olmadan önce sonuç kümesindeki toplam satır sayısından en az bir satır fazlasının istenmesi gerekir.
Uygulama
public function get complete():Boolean
İlgili API Öğeleri
data | özellik |
data:Array
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
İfade çalıştırmasının sonucunda, özellikle de bir SQL SELECT
ifadesi çalıştırıldığında döndürülen veriler.
Bir deyim bir veya daha çok satır döndürürse, bu özellik, sonuç verileri satırlarını temsil eden nesneleri içeren bir dizidir. Dizideki her nesnenin, sonuç veri kümesinin sütun adlarına karşılık gelen özellik adları vardır.
Örneğin, şu SQL SELECT
deyimini çalıştırdığınızı varsayın:
SELECT lastName, firstName FROM employees
employees
tablosunda 10 satır bulunduğu varsayılırsa, SQLResult.data
özelliği 10 öğeden oluşan bir Array nesnesidir. Her öğe, iki özellik içeren bir nesnedir: lastName
ve firstName
.
Toplama işlevi gibi karmaşık bir sonuç sütunuyla birlikte SELECT
deyimini kullandığınızda durum daha karmaşıktır. Örneğin, şu SQL öğesini çalıştırdığınızı varsayın:
SELECT departmentId, SUM(salary) FROM employees GROUP BY departmentId
Bu deyimden gelen sonuçlarda, data
Array öğesindeki her nesne, departmentId
ve SUM(salary)
adında iki özelliğe sahiptir. Ancak, "SUM(salary)" geçerli bir tanımlayıcı değildir. Toplama işlevi veya başka bir işlev gibi hesaplanmış bir sütun kullanıyorsanız, SQL deyiminizde hesaplanan sütun için bir diğer ad belirtin. Diğer ad, sonuç veri nesnelerinde özellik adı olarak kullanılır. Örneğin, önceki deyime alternatif olarak şunu değerlendirin:
SELECT departmentId, SUM(salary) AS salarySubtotal FROM employees GROUP BY departmentId
Bu deyimin data
dizisinde, sonuç nesneleri, departmentId
ve salarySubtotal
adında iki özelliğe sahiptir.
data
özelliği, sonuç kümesinde kaç tane satır ve sütun bulunduğuna bakılmaksızın her zaman Array olur. Örneğin, şu SELECT
deyimi temelde tek bir değer olan bir satır ve bir sütunla sonuçlanır:
SELECT COUNT(*) AS numEmployees FROM employees
Sorgu çalıştırıldıktan sonra, data
özelliği tek bir öğenin yer aldığı bir Array nesnesini içerir. Bu öğe, tek bir numEmployees
özelliğine sahip bir nesnedir.
Sonuç verilerinde yinelenen sütun adları varsa, örneğin, SELECT
deyimi iki farklı tablodan iki farklı id
sütunu içeriyorsa, SQLConnection.columnNameStyle
özelliğinin değerine göre yinelenen adlara özellik adları verilir. Varsayılan olarak özellik adı olarak her sütunun adı kullanılır, ancak sonuç kümesinde aynı ada sahip birden çok sütun varsa, aynı şekilde adlandırılmış sütunlar için uzun ad biçimi ([tablo-adı]_[sütun-adı]
) kullanılır. SQLConnection.columnNameStyle
özelliği ayarlanarak bu davranış değiştirilebilir.
Varsayılan olarak, data
Array içindeki nesneler Object örnekleridir. Ancak, SQLStatement.itemClass
özelliğinin değeri bir sınıfa ayarlanarak, data
Array öğeleri bunun yerine o sınıfın örnekleri olarak oluşturulabilir. Sonuç veri kümesindeki her sütun için, itemClass
sınıfı, adı sütun adıyla tamamen eşleşen bir özelliğe sahip olmalıdır.
Bir deyim herhangi bir veri döndürmezse, bu özellik null
olur. Deyim bir SELECT
deyimi olmadığında veya 0 satır döndüren bir SELECT
deyimi olduğunda bu durum geçerlidir.
Uygulama
public function get data():Array
İ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()); } } }
lastInsertRowID | özellik |
lastInsertRowID:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bir SQL INSERT
ifadesi tarafından en son oluşturulan satır kimliği.
Çalıştırılan ifade bir INSERT
ifadesi değilse, değer 0 olur.
Satır kimliği, veritabanındaki bir tabloda yer alan satırı benzersiz şekilde tanımlamak için kullanılır. Bu değer genellikle veritabanı tarafından oluşturulur.
Birincil tuşlar ve oluşturulan satır kimlikleri hakkında daha fazla bilgi için, "Yerel veritabanlarında SQL desteği" ekindeki "TABLO OLUŞTURMA" ve "İfadeler" bölümlerine bakın.
Uygulama
public function get lastInsertRowID():Number
İlgili API Öğeleri
rowsAffected | özellik |
rowsAffected:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
İşlem tarafından kaç tane satırın etkilendiğini belirtir. Yalnızca bir INSERT
, UPDATE
veya DELETE
deyimi tarafından doğrudan belirtilen değişiklikler sayılır.
Tetikleyicilerin neden olduğu yan değişiklikler sayılmaz. Tetikleyicilerin neden olduğu değişiklikler dahil olmak üzere, toplam değişiklik sayısını bulmak için SQLConnection.totalChanges
özelliğini kullanın.
İlgili SQL işlemi, WHERE
tümcesini içermeyen bir DELETE
ifadesi olduğunda (yani, ifade tablodaki tüm satırları sildiğinde), silinmiş satır sayısına bakılmaksızın rowsAffected
özelliğinin her zaman 0 olduğunu unutmayın. Silinmiş satır sayısını bilmeniz gerekiyorsa, WHERE
WHERE 1 = 1
tümcesini dahil edebilirsiniz, bu durumda tüm satırlar silinir ve rowsAffected
özelliği, silinmiş satırların sayısını doğru şekilde yansıtır. Ancak silinmekte olan satır sayısına bağlı olarak, bunun yapılması ifadenin performansı üzerinde olumsuz etkiye yol açabilir.
Uygulama
public function get rowsAffected():Number
İlgili API Öğeleri
SQLResult | () | Yapıcı |
public function SQLResult(data:Array = null, rowsAffected:Number = 0, complete:Boolean = true, rowID:Number = 0)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0 |
Bir SQLResult örneği oluşturur. Genel olarak, geliştirici kodu SQLResult yapıcısını doğrudan çağırmaz. Belirli bir SQLStatement örneğiyle ilişkilendirilmiş bir SQLResult örneğini almak için, örneğin getResult()
yöntemini çağırın. execute()
veya next()
yöntemi çağrısı için bir Responder örneği belirtildiğinde, sonuç işleyicisi işlevine argüman olarak bir de SQLResult örneği iletilir.
data:Array (default = null ) — İfadenin çalıştırılmasıyla döndürülen satır dizisi. İfade herhangi bir satır döndürmezse, bu değerin null olması gerekir.
| |
rowsAffected:Number (default = 0 ) — Çalıştırılan ifadenin kaç tane satırı etkilediğini belirtir.
| |
complete:Boolean (default = true ) — Getirilebilecek ek satırlar olduğunu veya tüm verilerin döndürülmüş olduğunu belirtir.
| |
rowID:Number (default = 0 ) — İfade bir SQL INSERT işlemiyse, bu, satır için yeni benzersiz kimliktir.
|
Tue Jun 12 2018, 01:09 PM Z