Tekil Mesaj gösterimi
Alt 24 Nisan 2007, 20:25   #3
Çevrimdışı
Freak
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: SQL VE TQUERY Dev Arşiv...




DDL Örnekleri
a) Drop Table ( Tablo Silme)

Eğer tablo ismi , karakter periyodu içeriyorsa, ismi çift tırnak içinde gösteriniz.
Drop Table "C:\Data\Customer.Db"
Eğer tablo ismi , karakter periyodu içermiyorsa, ismi çift tırnak içinde göstermeyin. Drop table clients

NOT: Query1.Open yazılmamış olması gerekiyor.

b) CREATE INDEX

Create Index Insoyad On Tez9[Soyad]
Create Index Parca On Parcalar (Part_No)
Create Index Pers_maas On personel(brüt)

Paradox : Paradox birincil indexleri yalnızca tablo oluşturulurken oluşturulabilir. İkincil indexler büyük harf duyarsız korunduğunda mümkünse oluşturulur.

Dbase : Dbase indexleri belirtildiği gibi oluşturulur. Index ismi tag ismidir

c) DROP INDEX

Index silerken Tablo_ Ismi.Index_ Ismi şeklinde bir yazılım kullanırız.
Drop index.part_no
Drop index.primary
Drop tez9.insoyad


DML ( Data Manipulation) Örnekleri
Aşağıdaki cümlecikler :
Select From, Where ,Order By, Group by ve Having
Aşağıdaki toplamlar
SUM , AVG , MIN , MAX , COUNT ve
Aşağıdaki operatörler
, , / , =, <> , is NULL
UPDATE , INSERT , DELETE tarafından desteklenen operatör ve cümleciklerdir.
Aşağıdaki örnekler standart veri tabanlarıyla kullanılan DML ifadelerine birer örnektir.

1. Örnek
UPDATE
Update Esya
Set sehir=' Erzurum'
Where esya.sehir='Aydın'
Sehir adı 'Aydın' olan kayıtların sehir adı alanlarını 'Erzurum' ile değiştirir.

2. Örnek
INSERT
Insert into Esya(parca_no,sehir)
Values ('aa090','Ankara')
Parca ve Sehir alanlarına bu değerleri ekler

3. Örnek
DELETE
Delete From Esya
Where parca_no='aa090'
Parca_nosu 'aa090' olan kayıtları siler

4. Örnek
Birleştirmek için SELECT
Aşağıdaki örnek SELECT ifadesinin nasıl JOIN olarak kullanıldığını gösteriyor
Select Distinct P.parca_no, P.miktar, E.sehir
From Parca P ,Esya E
Where p.parca_no=E.parca_no
And P.miktar>20
Order by P.miktar, E.sehir, P.parca_no

Birleştirme amacıyla kullanılan bir SELECT ifadesi WHERE cümleciğini içermelidir ki en azından bir alanın her iki tabloda da eşit olduğunu kontrol edebilsin.

5. Örnek Alt Seçimler
Select P.parca_no from Parca P
Where P.miktar In
( Select I.miktar from Ithalat I
Where I.parca_no='aa090')

Parca.Db 'deki miktar alanı ithalattaki parca_nosu aa93 olan kayıtlardaki miktarların birine eşit olan parca.dbf deki kayıtların parca_no' larını alır.

6. Örnek Group By
Select parca_no , Sum (miktar) as PQTY
From Parca
Group by parca_no

NOT : Select cümleciklerindeki Toplam alanları eğer hesaplanan alan kullanıldıysa Group By cümleciği kullanılmalıdır.

7. Örnek Order By
Aşağıdaki örnek azalan tipteki cümlecikte kullanılan Order By 'a bir örnektir.
Select Distinct musteri_no
From
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
\data\musteri
Order by musteri_no Descending
NOT : Ascending= artan Descending = azalan


BÖLÜM 3
3.1 TQUERY NESNESİ

Tquery Nedir : SQL ifadelerine dayanan dataset 'leri işleyen bir Delpi nesnesidir. Veri tabanına SQL ifadeleriyle ulaşmak için Tquery kullanırız . Query öğeleri Sybase, SQL Server, Oracle, Informix, DB2, InterBase, Mysql gibi uzaktan kontrollü serverlarda , Paradox, dBASE, Access, FoxPro gibi Interbaselerde , ve ODBC türü veri tabanlarıyla kullanılır.
Avantajları :

• Aynı anda birden fazla tabloya erişme (Join İşlemi)
• Tüm satır ve sütünü çağırmaktansa istenen satır ve sütunlara ulaşma.

NOT: Tquery nesnesinin ölçülebilir veri tabanı uygulamalarında özel bir önemi vardır. Eğer yerel veri tabanlarıyla yapılan uygulamaları daha sonra uzaktan kontrollü server uygulamalarına dönüştürmek gibi bir olasılık varsa Tquery öğesi bu geçişi kolaylaştırır.


3.2 TQUERY'nin Hiyerarşik Yapısı

TObject
TPersistent
TComponent
TDataSet
TBDEDataSet
TDBDataSet
TQuery


TQuery' den ile Gelen özellikler
Constrained
DataSource
Local
ParamCount
Params
Prepared
RequestLive
RowsAffected
SQL
SQLBinary
StmtHandle
Text
UniDirectional

TDBDataSet' den Kalıtımsal Gelen Özellikler
Database
DatabaseName
DBHandle
DBLocale
DBSession
Provider
SessionName
UpdateMode

TBDEDataSet' den Kalıtımsal Gelen Özellikler
CacheBlobs
CachedUpdates
CanModify
ExpIndex
Filter
Filtered
FilterOptions
Handle
KeySize
Locale
RecNo
RecordCount
RecordSize
UpdateObject
UpdateRecordTypes
UpdatesPending

TDataSet' den Kalıtımsal Gelen Özellikler
Active
AutoCalcFields
Bof
Bookmark
Constraints
DefaultFields
Designer
EOF
FieldCount
FieldDefs
Fields
FieldValues
Found
Modified
Name
State

TComponent' dan Kalıtımsal Gelen Özellikler
ComObject
ComponentCount
ComponentIndex
Components
ComponentState
ComponentStyle
DesignInfo
Owner
Tag
VCLComObject






3.3- TQUERY NESNESİNİN ÖZELLİKLERİ

1) CONSTRAINED (KISITLAMA)

Select ifadeleriyle üretilen sonuç kümesine uymayan güncellemelere veya eklemelere izin verilip verilmeyeceğini ve konulan sınırlamaların aktif olup olamayacağını belirler.
Property Constrained: Boolean;

Bu özelliği kullanarak SQL de Paradox veya Dbase tabloları için yazılmış sonuç kümesine aykırı bir veri girildiğinde buradaki sınırlamaların geçerli olup olmayacağı belirlenir. False ise sınırlamalar göz ardı edilir. True ise eğer değiştirme veya ekleme işlemlerindeki veriler sınırlara uymuyorsa bu girişlere izin verilmez.
Select * From Customers Where (Custno > 1400 And Custno < 1500)

TCHECKCONSTRAINT

Bir alan öğesi için yazılan sınırlamaların toplamını içerir. Alan öğeleri geçerli veri değerlerini tanımlayan kontrol koşullarını destekler. Bu nesne verilen alana etki eden kontrol koşullarının toplamını saklamaktadır


2) DATASOURCE

Aktif alan değerlerini veri tabanından alarak SQL ifadesinde kullanmayı sağlayan DataSource öğesini belirler.
Property DataSource: TDataSource;

Datasource başka bir dataseti işaret etmelidir. Bir query öğesini göstermemelidir. Datasource' ta belirtilen dataset oluşturulmalı,çalıştırılmalı ve parametre bağlanmadan önce açılmalıdır. Parametreler Query' nin Prepare metoduyla çalıştırılırlar.

İpucu : DataSource' u özellikle linklerde master-detail ilişkisinde kullanın. Aynı zamanda Params setinde olmayan parametreleri bağlamayı garantilemek için veya Parambyname metodunu çağırmak için kullanılır.

Eğer SQL cümlesi parametre içermezse veya parametreler Params özelliğini veya ParambyName olayını kullanıyorsalar bunu kullanmanıza gerek yok.


3) -R- LOCAL

Bir Querynin uzak erişimli servarlardakl SQL tablolarından daha çok bir veya daha fazla Paradox veya dBase tablosunu mu tercih ettiğini belirtir.
Property Local
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
oolean;


Bir sorgu uzak serverdaki SQL tablosuna değilde bir veya daha fazla Paradox veya Dbase tablosuna erişiyorsa ( SQL tablosu yerine ) bu özellik true olur. Yoksa Local False 'tur. Local bir uygulama sorgunun Prepare metodunu sorguyu çalıştırmadan önce otomatikman ayarlar.

Bazı sorgu öğe setleri (constrained gibi) Paradox veya Dbase tabloları için çok anlamlıdır. Diğerleri SQL serverların uzaktan kontrolünde anlamlıdır. Local bize ulaşılan veri tabanının tipine dayanarak code'da mantıksal ayrımlar (branşlar) için yararlı bilgiler verir. Aynı zamanda BDE' nin bir sorguyu kendi Local Query motorunu kullanarak mı yoksa SQL ifadelerini doğrudan uzaktan kontrollü server 'a geçerek mi bir sorguyu parsellediği belirlenebilir.

4) PARAMCHECK

SQL özelliği çalışma anında değiştirildiğinde parametre listesinin (bir sorgu için) tekrar üretilip üretilmediğini belirler.
property ParamCheck: Boolean;

Varsayılanı true dur. Ve bu params özelliğinin çalışma esnasında otomatik olarak yeniden üretileceğini belirler. Paramcheck true olduğunda aktif SQL ifadesi doğru parametre numarasının üretileceğini garantilemiş olur.

Bu özellik parametre kullanan veri tanımlama ifadeleri için çok yararlıdır. Örneğin interbase store procedure için sorgu öğesi kullanırken. Parametresiz sorgu kullanan uygulamalar Paramcheck özelliğini False ayarlayabilir ama diğer durumlarda bu özellik true olmalıdır.

5) -R- PARAMCOUNT
Query için aktif parametre sayısını belirtir
Property Paramcount :Word;

Paramcheck özelliği true ise Paramcount daima Query için SQL ifadesindeki gerçek parametre sayısına uyar.Bir uygulama Params özeliğine parametre ekleyebilir veya parametre silebilir. Bu tür değişiklikler Paramcount özelliğine otomatik olarak yansır.

6) PARAMS

Sorgunun SQL ifadesi için parametre bilgisini saklar.
Property Params[Index:Word] Tparams

Çalışma anında Params'a parametre isimlerini değerlerini ve veri tiplerini dinamik olarak görmek ve ayarlamak için ulaşır. Params 0 tabanlı bir parametre kayıt dizisidir. Index ulaşılacak dizi elemanını belirtir.

NOT: Her parametrenin ismi bilindiğinde parametre değerlerini ayarlamanın ve çağırmanın daha kolay bir yolu ParambyName kullanmaktır. Fakat Parambyname ile parametrenin ismini ve tipini değiştiremeyiz.

Select ifadelerinde kullanılan parametre boş (NULL) olamaz Fakat bunlar Update ve Insert ifadelerinde Null olabilir.

TQuery Params girisi

Örnek1:
Query1.Prepare;
Query1.Params[0]:='Argentina';
Query1.ExecSql;

Örnek2:
Query1.Params[0].Asstring:=(sender as Tedit).Text;
Query1.ExecSql;

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver