24 Nisan 2007, 20:26
|
#4 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Cevap: SQL VE TQUERY Dev Arşiv...
7) PREPARED Bir sorgunun çalıştırılmak için hazırlanıp hazırlanmadığını belirler. property Prepared: Boolean;
Eğer true ise Query hazırlanmıştır. False ise hazırlanmamıştır. Bir sorgunun çalıştırılmadan önce hazırlanması gerekiyorsa ve bu daha önce hazırlanırsa çalıştırma performansı artar.(özellikle bu aynı parametre değerlerini alarak birden fazla çalıştırılan bir parametreli sorgu ise) . if not Query1.Prepared then
begin
Query1.Close;
Query1.Prepare;
Query1.Open
end;
NOT : Bir uygulama aktif Prepared ayarlarını sorguyu hazırlamak veya hazırlamamak için değiştirebilir. Eğer Prepare true ise bunu False yapmak Unprepare metodunu sorguyu hazırlamaması için çağırmak demektir. Prepared false ise bunu true ayarlamak sorguyu hazırlamak için Prepare metodunu çağırmak demektir. Prepared False ise bunu true ayarlamak sorguyu hazırlamak için Prepare metodunu çağırmak demektir. Genelde Prepare ve Unprepare 'ı direkt olarak çağırmak daha iyi bir programlama tekniğidir. 8) REQUESTLIVE
Sorgu çalıştığında uygulamanın BDE' den canlı sonuç seti bekleyip beklemeyeceğini belirler. Property Requestlıve Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. oolean;
Requestlive 'i BDE nin uygulama için sonuç seti üretmeyi deneyip denemeyeceğini belirlemek için ayarlayın. Varsayılan değeri False'dir ve bu Query read-only sonuç seti döndürür.
Requestlive 'ı true olarak ayarlamak BDE' den canlı sonuç setinin döndürüleceğini garantilemez. Yalnızca BDE 'nin bu seti döndürmek için çalışacağını garantiler .BDE yalnızca Select yazılımı canlı sonuç seti için gerekli ifadelere sahip olduğunda canlı sonuç seti döndürür.
Eğer Requestlive true ise fakat yazılım gereklere uygun değilse BDE read-only sonuç setini Paradox veya Dbase için döndürür veya uzaktan kontrollü serverlar için hata koduna döndürür. 9) -R- ROWSAFFECTED
Son query işlemince kaç satırın güncellendiğini veya silindiğini belirler. Property Rowsaffected :Integer;
Eğer RowsAffected -1 ise sorgu hiçbir satıra etki etmemiştir.
Örneğin Label1.Caption:=Inttostr(Query1.RowsAffected) 10) SQL
Sorguda çalıştırılacak SQL ifadesini saklar. Property SQL:Tstrings
SQL 'i bir sorgu öğesi olan Execsql veya Open metotları çağrıldığında çalışmak üzere SQL ifadesi oluşturmak için kullanırız. Dizayn aşamasında Object Inspector' daki string list editöre başvurarak SQL özelliği düzenlenebilir.
NOT : Delphi Client/server geliştiricileri aynı zamanda SQL cümleciği yazmak için Visual Query Builder da kullanırlar. SQL özelliği şunlara ulaşmak için kullanılır.
• Local SQL 'ı kullanarak Paradox veya Dbase tablolarına erişmek .İzin verilen yazım şekli Ansi-Standard SQL 'de olduğu gibidir ve Select Insert,Update,Delete ifadelerini içerir.
• Local interbase serverlarındaki veri tabanlarına , SQL -92 standardını ve özel interbase uzantılarını SQL yazılımı için kullanır. Bunun yazım kuralı ve sınırı için Interbase Language Referenca bakabilirsiniz.
• SQL link sürücüleri yaklaşımını (yöntemini) kullanarak uzaktan erişimli veri tabanı serverlardaki veri tabanlarına SQL yazılımı ve sınırları için server dökümantasyonuna bakınız.
SQL için hazırlanan SQL ifadeleri yeniden yerleştirilebilen parametreleri içerebilir. Parametreler params özelliğinde oluşturulur ve saklanır.
Çalışma esnasında SQL ifadesi yazmış olmak için ;
1) Query çalışıyorsa kapatmak için CLOSE yöntemini çağırın.
2) SQL özelliğini temizlemek için CLEAR
3) Yeni bir sql ifadesi eklemek için ADD veya SQL özelliğinde script dosyasına bir dosya atamak için LOADFROMFILE yöntemini kullanın.
4) Eğer kullanıyorsa parametreleri ayarlamak için ParamByName kullanın
5) Sorguyu çalıştırmaya hazırlamak için PREPARE kullanın
6) Sorguyu çalıştırmak için EXECSQL veya OPEN kulanın.
NOT : SQL ifadesi aynı anda bir SQL ifadesi taşıyabilir. Genelde bir server destekleyene kadar çoklu (batch) ifadelere izin verilmez. 11) SQL BINARY SQL sorgu ifadesini veya sonuç setini temsil eden ikilik veri akışını gösterir. Property SQLBinary: PChar;
NOT : SQL Binary' yi direk kullanmayın .Bu BDE ' ye direk iletişim erişimi için dahili olarak kullanılır. Bu SQL özelliğinin çalıştırdığı SQL ifadesini görmek ve ayarlamak için SQL kullanın. 12) -R- STMTHANDLE
Sorgu için BDE ifadesini tutar. Property StmtHandle: HDBIStmt;
Bunu eğer bir uygulama BDE' yi direk çağırıyorsa kullanın.(Tquery metotlarını es geçin). Bazı BDE API uygulamaları durum yöneticisine parametre olarak ihtiyaç duyarlar. Bunun dışındaki bütün durumlarda bu özelliğe ihtiyaç yoktur. 13) -R- TEXT
BDE 'ye geçen gerçek SQL sorgu metnini gösterir. Property Text: PChar;
Read-only bir özelliğe sahiptir ve BDE 'ye geçen gerçek SQL query metnini araştırmak için kullanılır. Parametreli sorgular için ,parametrelerle ? sembolü kullanılan metindir.
Genelde bu özelliği kullanmaya gerek yoktur. Sorgudaki SQL ifadesini değiştirmek veya ulaşmak için SQL özelliğini kullanın. Parametreler için Params özelliğini kullanın. 14) UNIDIRECTIONAL
BDE iki yönlü kursörlerinin sorgunun sonuç seti için uygun olup olmadığını belirler. property UniDirectional: Boolean;
BDE kursörünün sonuç setinde ileri veya geri gidip gitmeyeceğini ayarlayabilirsiniz. Varsayılan değeri False dir.
NOT :Genelde SQL kursörler unidirectional dır. Sadece veri yapısında ileri gidebilirler. Yine de BDE buna izin vermektedir.
Eğer bir uygulama sonuç setinde iki yönlü kayıtlara ulaşma gereği duymuyorsa bunu true olarak ayarlayın. True olduğunda uygulama daha az hafızaya ihtiyaç duyar ve hız artar. TDBDATASET 'DEN GELEN ÖZELLİKLER
15) -R- DATABASE
Bir veya daha fazla tabloyu temsil eden veri tabanı öğesini tanımlar. property Database: TDatabase;
Tablo ile ilişkili veri tabanı öğesinin özelliklerine ,olaylarına ve metotlarına ulaşmak için database' i kullanın. Read-only bir özelliktir ve DatabaseName özelliği ile belirtilen veri tabanı açıldığında otomatik olarak ayarlanır. with Table1.Database do
begin
StartTransAction;
{Bazı kayıtları Table1 ile kaydeder}
Commit;
end; 16) DATABASENAME
Dataset ile ilişkilendirilecek veri tabanının ismini belirtir. property DatabaseName: string; DatabaseName uygulamada kullanılan Database (veri tabanı) öğesinin ismiyle aynı olmalıdır.
NOT : DatabaseName 'i veri tabanı bu öğe ile ilişkili olduğunda (aktif bir tablo olduğunda, bağlantı kuruluyken) ayarlamaya kalkarsanız hata oluşur.
İPUCU : Dizayn esnasında Tdatabase öğesini çift tıklayarak Database editörü çağırın ve DatabaseName özelliğini ayarlayın.
DatabaseName özelliğini değiştirirken tüm bağlantılı tablolar kapalı olmalıdır. Table1.Active := False;
try
{ Ilk önce alias kullanmaya çalışıyoruz }
Table1.DatabaseName := 'Delphi_Demos';
Table1.Active := True;
except on EDatabaseError do
{ Eğer hata oluşursa sürücü ve dizin belirtiyoruz }
Table1.DatabaseName := ' Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. \delphi\demos\database';
Table1.Active := True;
end; 17) -R- DBHANDLE
BDE veri tabanı yönetimini tablo için belirler Type
HDBISES:longint;
Property Dbhandle: HDBISES;
Dbhandle sadece database ve dataset metotlarını atlayarak direkt BDE API' lerine yazma yapılan uygulamalarda yararlıdır. Birçok BDE fonksiyon çağrısı yönetim parametresine ihtiyaç duyar. Oturum aktif edildiğinde Dbhandle' a bir başlangıç değeri atanır.
NOT: Bu özelliği BDE fonksiyonel olarak standart Delphi öğelerince kullanılamayacak duruma gelene kadar kullanmayın. 18) -R- DBLOCALE
BDE dil sürücüsünü tablo öğesi için ayarlar. Type
Tlocale : Pointer
Property Dblocale : Tlocale
Dblocale' ı tablonun ilişkilendirildiği veri tabanı öğesince kullanılan BDE dil sürücüsünü belirlemek için kullanın. BDE ye direk çağrı yapan uygulamalar Dblocale bilgisini API fonksiyonu parametresi olarak vermek zorunda olabilirler.
NOT: Bunu BDE zorunlu olarak ihtiyaç duymadan kullanmayın. 19) -R- DBSESSION
Bu dataset öğesinin ilişki içinde olduğu database oturum öğesini (nesnesini) gösterir. Property DBSession: TSession
Veri tabanı oturum nesnesini bununla ilişkili olan tablo öğesiyle birlikte gösterir Varsayılan olarak database öğesi varsayılan oturum nesnesiyle ilişkilidir. Oturum otomatik olarak bütün veri tabanı uygulamaları için oluşturulur. TSession
Tsession bir uygulamada bir grup database' in global yönetimini sağlar. Tsession 'ın üç kullanım şekli vardır; standart , çoklu Paradox için ağ dosyaları ve çoklu iç içe veri tabanı uygulamalarında. Delphi otomatik olarak global ulaşılabilir varsayılan Tsession nesnesini Oturum olarak bütün veri tabanı uygulamaları için yapar .Varsayılan oturum nesnesi standard veri tabanı bağlantılarını tutar. Bir uygulama oturumu onun özelliklerine (properties), olaylarına (event) veya metotlarına girerek kontrol edilebilir.Farklı network yerleşim birimlerindeki çoklu oturumlara eş zamanlı olarak erişmesi gereken veri tabanı uygulamalarında kullanılır. 20) -R- PROVIDER
Bu dataset için provider arayüzünü belirler. Property Provider: IProvider;
Bu tablo için koruyucu ara biriminı tarif eder. Bu nesne için Provider arabirimini belirlemek amacıyla kontrol edin. Iprovider arabirimi geliştirmecilerin çoklu uygulamalar üzerindeki meraklarıdır. ( Iprovider arabirimi aracılığıyla server uygulamalarında kullanıcı tabloların bu tablo nesnesiyle direk olarak ilişki kurmasını isteyen geliştirmeciler) 21) SESSIONNAME
Bu tablonun ilşkili olduğu oturumun ismini belirler. Property SessionName: string;
SessionName otomatik olarak tablo 'nun bağlantılı olduğu database öğesinin SessionName özelliğinin ismine ayarlanır. Eğer sessionName boş ise tablo öğesi otomatikman varsayılan oturumla ilişkilendirilir.
Bir tablo öğesini farklı grupla ilişkilendirmek isterseniz SessionName var olan session öğesinin sessionName özelliğiyle aynı olmalıdır. Aynı zamanda bu session bu tablonun bağlı olduğu database öğesince kullanılan bir session olmalıdır. 22) UPDATEMODE
BDE' nin SQL database'de güncellenmekte olan kayıtları nasıl bulacağını belirler. type
TUpdateMode = (upWhereAll, upWhereChanged, upWhereKeyOnly);
property UpdateMode: TUpdateMode;
UpdateMode'u datasetteki bir kayda konumlanılacağında kriteri belirtmek için kullanırız. UpdateMode aşağıdaki değerleri alabilir: upWhereAll :Tüm sütunlar kayda konumlanmak için kullanılır upWhereChanged : Sadece anahtar alanlar ve değişen alanlar kayıt bulmak için kullanılır upWhereOnly :Sadece anahtar alanlar kayıt bulmak için kullanılır |
| |