wiki-framework-ceren-sql

Ceren SQL

Konu başlıkları

Ceren SQL Nedir ?

CEREN SQL , farklı veri tabanı motorlarıyla çalışabilir. Şu an içim MySql , PostgreSQL , MicrosoftSQL , ORACLE , SQLite ve ODBC ile çalışabiliyor.

Mesela , MySql ile çalışan bir program yazdık. Programımızın PostgreSql ile de çaçışmasınız istiyoruz. Programımızda MySQL ' e özgü detayları kullanıyorsa PostgreSQL ' de hatalar verecektir.

Ceren SQL veri tabanı motorları arasındaki farklılıklardan dolayı oluşturulmuş , bu farklılıkları kendi içerisinde düzelten ve çalışır hale getiren yapıdır.

 Ceren SQL_QUERY

Bu sınıf , sorgularımızı kullanılacak tüm farklı veri tabanı motorlarında çalışacak şekilde düzenler. Sınıfın nesnesini oluştururken , kullanılacak veri tabanı motoru parametre olarak verilmelidir.

NOT : INSERT , DELETE , UPDATE ve SELECT işlemleri 3 aşamalıdır.
      İlk önce PREPARE fonksiyonlarıyla sorgu hazırlanır. 
      Daha sonra sorgu içerisine değerler SET fonksiyonlarıyla yerleştirilir.
      Sorgu hazırlandıktan sonra sorguyu çalıştıracak fonksiyon çağırılarak işlem  yapılır.
 PREPARE_INSERT

Bu fonksiyon , tablolara kayıt ekleyecek sorguyu hazırlamak için kullanılır.

  • PREPARE_INSERT( "tablo_adı" , "tablo_id" , " kolon_adı_1 , kolon_adı_2 , kolon_adı_3 ,… " )
    • Parametreler :
      • "tablo_adı" : String tipindedir.Kullanılacak tablonun adıdır.
      • "tablo_id" : String tipindedir.Tabloda kullanılan id'dir.
      • " kolon_adı_1 , kolon_adı_2 , kolon_adı_3 ,… " : String tipindedir.Veri ekleyeceğimiz alanlardır.
  • Örnek Kullanım
SQL_QUERY query( DB );
query.PREPARE_INSERT("crm_saticilar", "satici_id", "satici_kodu, satici_ismi" ) ;

Burada crm_saticilar isimli ve id'si satici_id olan tabloya satici_kodu ve satici_ismi alanlarına veri ekleyecek sorguyu oluşturuldu.

UYARI : Bu fonksiyondan sonra SET_VALUE kullanılarak kolonlara eklenecek değerler atanmalıdır.
SET_VALUE

Bu fonksiyon , sorgularda oluşturduğumuz sorgu değişkenlerine değer atamak için kullanılır.

  • Bu fonksiyonun 2 farklı kullanımı vardır.
  • 1 ) – SET_VALUE( "sorgu_değişkeni" , "atanacak_değer" )
    • Parametreler
      • "sorgu_değişkeni" : String tipindedir.Değer atanacak değişkenin adı.
      • "atanacak_değer"  : QVariant tipindedir.Değişkene atanacak değerdir.int , string , double .. parametre olarak verilebilir.
  • Örnek Kullanım
 SQL_QUERY query( DB );
 query.PREPARE_INSERT("crm_saticilar", "satici_id", "satici_kodu, satici_ismi" ) ;
 query.SET_VALUE( ":satici_kodu" ,  m_ui->line_edit_satici_kodu->text() );
 query.SET_VALUE( ":satici_ismi" ,  m_ui->lineEdit_satici_ismi->text() );

crm_saticilar tablosuna satici_kodu ve satici_ismi alanlarına veri ekleneyecek sorgu oluşturuldu.SET_VALUE ile bu alanlara değer atandı.

  • 2 ) – SET_VALUE( "ekleme_sirasi" , "atanacak_değer" )
    • Parametreler
      • const int insert_sira : Değerin atanacağı kolon numarasıdır.
      • const QVariant & value  : Değişkene atanacak değerdir.
  • Örnek Kullanım
 SQL_QUERY query( DB );
 query.PREPARE_INSERT("crm_saticilar", "satici_id", "satici_kodu, satici_ismi" ) ;
 query.SET_VALUE( 1 ,  m_ui->line_edit_satici_kodu->text() );
 query.SET_VALUE( 2 ,  m_ui->lineEdit_satici_ismi->text()  );

Alan adı olarak verilen "satici_kodu, satici_ismi" alanlarına yani 1( satici_kodu ) ve 2( satici_ismi ) nolu kolonlarına line editler'deki değerler atanmaktadır.Sıfırıncı kolonda verinin satici_id numarası bulunmaktadır.Aynı işlem burada alan ismi vermek yerine "satici_kodu, satici_ismi" 1 ve 2 olarak numaralandırılarak yapılmıştır.1 burda ikinci parametredeki alanın sırasıdır.

'UYARI : Değişkenlere değer atarken değişkenin önüne : konulmalıdır.'
 INSERT

PREPARE_INSERT fonksiyonuyla oluşturulan ve değerleri atanan sorguyu çalıştırarak , tablolara veri eklememizi sağlar. Tabloya veri eklendikten sonra veriye verilen id'yi geri verir.

  • Örnek Kullanım
   SQL_QUERY query( DB );
   query.PREPARE_INSERT("crm_saticilar", "satici_id", "satici_kodu, satici_ismi" ) ;
   query.SET_VALUE( ":satici_kodu" ,  "ak");
   query.SET_VALUE( ":satici_ismi" ,  "Ali" );
   int record_id = query.INSERT();

crm_saticilar tablosuna , satici_kodu ve satici_ismi alanlarına "ak" satıcı kodu ve "Ali" satıcı ismi olan kaydı ekledik. Satıcıya verilen id'yi record_id değişkenine atadık.

PREPARE_DELETE

Fonksiyon , tablodan veri silmek için sorgu hazırlar.

  • PREPARE_DELETE( "tablo_adı" , "where_koşulu" )
    • Parametreler
      • tablo_adı : Veri sileceğimiz tablonun adıdır.String tipindedir.
      • where_koşulu : Sileceğimiz verileri bulmak için oluşturulacak koşuldur.String tipindedir.
  • Örnek Kullanım
 SQL_QUERY       sql_query( DB );
 sql_query.PREPARE_DELETE("crm_saticilar","satici_id = :satici_id");
 sql_query.SET_VALUE( ":satici_id", 1 );

crm_saticilar isimli tablomuzdan satici_id'si 1 olan kayıdı silecek olan sorgu hazırlandı.

UYARI : Bu fonksiyondan sonra SET_VALUE kullanılarak silinecek verinin where koşulundaki değişkenlerine değer atanmalıdır.
DELETE

PREPARE_DELETE fonksiyonu tablodan veri silmek için hazırlanan ve değerleri atanan sorgu , bu fonksiyon ile çalıştırılır.

  • Örnek Kullanım
   SQL_QUERY       sql_query( DB );
   sql_query.PREPARE_DELETE("crm_saticilar","satici_id = :satici_id");
   sql_query.SET_VALUE( ":satici_id", 1 );
   sql_query.DELETE();

crm_saticilar tablosundan satici_id'si 1 olan kaydı silecek sorgu hazırlandı.Daha sonra sorgu DELETE ile çalıştırılarak tablodan ilgili veri silindi.

PREPARE_UPDATE

Fonksiyon , tabloda veri göncellemek için sorgu hazırlar.

  • PREPARE_UPDATE( "tablo_adı" , "tablo_id" , "güncellenecek_alanlar" )
    • Parametreler :
      • tablo_adı : Veri güncelleyeceğimiz tablonun adıdır.String tipindedir.
      • tablo_id : Tablodaki güncellemek istediğimiz kaydın id'sidir.String tipindedir.
      • güncellenecek_alanlar  : Tabloda güncellemek istediğimiz alanlardır.Birden fazla alan virgül ile ayrılmalıdır.String tipindedir.
  • Örnek Kullanım
 SQL_QUERY query(DB);
 query.PREPARE_UPDATE( "crm_saticilar" , "satici_id", "satici_kodu, satici_ismi" , "satici_id=:satici_id" );

crm_saticilar tablosundaki , tablo_id'si satici_id olan , satici_kodu ve satici_ismi alanlarındaki , satici_id değişkeninin değerini sağlayan veriyi silecek sorgu hazırlandı.

UYARI : Bu fonksiyondan sonra SET_VALUE fonksiyonunu kullanarak güncellenecek kolonlara değerler atanmalıdır.
UPDATE

PREPARE_UPDATE fonksiyonu ile hazırlanan sorgu ve değerleri atanan sorgu çalıştırılarak , tabloda veri günceller.

  • Örnek Kullanım
   SQL_QUERY query(DB);
   query.PREPARE_UPDATE( "crm_saticilar" , "satici_id", "satici_kodu, satici_ismi" , "satici_id=:satici_id" );
   query.SET_VALUE( ":satici_id" , 2 );
   query.SET_VALUE( ":satici_kodu" , "ak" );
   query.SET_VALUE( ":satici_ismi" , "Ali" );
   query.UPDATE();

crm_saticilar tablosundaki , tablo_id'si satici_id olan ve satici_id'si 2 olan kaydın , satici_kodu alanı "ak" , satici_ismi "Ali" olacak şekilde güncellendi.

PREPARE_SELECT

Fonksiyon , tablolardan belirlenecek alanlarda , belirlenecek koşulları sağlayan verileri seçecek sorguyu hazırlar.

  • Bu fonksiyonun 3 farklı kullanımı vardır.
  • 1 ) – PREPARE_SELECT ( "tablo_adı" , "secilecek_alanlar" )

Fonksiyonun bu kullanımı , verilen tablodaki , verilen alanlardaki tüm kayıtları getirecek sorguyu hazırlar.

    • Parametreler
      • tablo_adı : Veri seçmek istediğimiz tablonun adıdır.String tipindedir.
      • secilecek_alanlar  : Seçilecek alan isimleri.String tipindedir.Birden fazla alan virgül ile ayrılmalıdır.
  • Örnek Kullanım
  SQL_QUERY  sql_query( DB );
  sql_query.PREPARE_SELECT ( "crm_saticilar" ,"satici_kodu , satici_ismi " );

crm_saticilar tablosundan , tüm satici_kodu ve satici_ismi alanlarını seçecek sorguyu hazırlandı.

  • 2 ) – PREPARE_SELECT ( "tablo_adı" , "seçilecek_alanlar" , "seçme_koşulu" )

Fonksiyonun bu kullanımı , tablodan belirtilen alanlardaki , seçme_koşulu ile belirtilen koşulu sağlayan verileri getiren sorguyu hazırlar.

    • Parametreler
      • tablo_adı : Seçilecek verilerin tablosunun adıdır.String tipindedir.
      • seçilecek_alanlar  : Verilerin seçileceği alanların isimleridir.String tipindedir.
      • seçme_koşulu  : Verileri seçmek için belirlenecek koşuldur.String tipindedir.
  • Örnek Kullanım
 SQL_QUERY  sql_query( DB );
 sql_query.PREPARE_SELECT ( "crm_saticilar" ,"satici_kodu , satici_ismi ", "satici_id=:satici_id");
 sql_query.SET_VALUE ( ":satici_id", 2 );

crm_saticilar tablosundaki , satici_id'si 2 olan kayıtların, satici_kodu ve satici_ismi alanlarındaki verilerini seçecek sorgu hazırlandı.

  • 3 ) – PREPARE_SELECT( "tablo_adı" , "seçilecek_alanlar" , "seçme_koşulu" , "gruplama_alanları" )

Bu kullanımda, verilen tablodan belirlenen şartı sağlayan kayıtları , belirtilen alanlardaki verilerini , belirlenen gruplama alanları altında seçmeyi sağlayacak sorguyu hazırlar.

    • Parametreler
      • tablo_adı  : Veri seçeceğimiz tablonun adıdır.String tipindedir.
      • seçilecek_alanlar  : Verilerin seçileceği alanların isimleridir.
      • seçme_koşulu  : Verileri seçmek için belirlenecek koşuldur.String tipindedir.
      • gruplama_alanları  : Seçilen verileri gruplandırmak istediğimiz alan isimleridir.String tipindedir.Birden fazla olursa virgülle ayrılmalıdır.
  • Örnek Kullanım
 SQL_QUERY  sql_query( DB );
 QString group_by     = "satici_kodu ";
 query.PREPARE_SELECT( "crm_satici","satici_kodu , satici_ismi ","satici_id>:satici_id", group_by );
 sql_query.SET_VALUE ( ":satici_id", 2 );

crm_saticilar tablosundan , satici_id'si 2'den büyük olan kayıtların , satici_ismi ve satici_kodu alanlarındaki verileri satici_kodu alanı altında gruplandırarak seçecek sorgu hazırlandı.

SELECT

Fonksiyon , PREPARE fonksiyonu ile hazırlanan tablodan veri seçme sorgusunu çalıştırır.

  • Bu fonksiyonun 3 farklı kullanımı vardır.
  • 1 ) – SELECT ()

Fonksiyonun bu kullanımı ,hazırlanan sorguyu aynı şekilde çalıştırır.Fonksiyon , sorgu sonucu bulunan kayıt sayısını geri verir.

  • Örnek Kullanım
  SQL_QUERY sql_query( DB );
  sql_query.PREPARE_SELECT ( "crm_saticilar" ,"satici_kodu , satici_ismi ", "satici_id=:satici_id");
  sql_query.SET_VALUE ( ":satici_id", 3 ) ;
  int secilen_kayit_sayisi = sql_query.SELECT() ;

crm_saticilar tablosunda satici_id'si 3 olan verilerin satici_kodu ve satici_ismi alanlarındaki verileri seçildi.

  • 2 ) – SELECT( "sıralama_alanları" )

Bu kullanımda , verilerin sıralama alanları ile belirlenen alanlar altında sırlanmış olarak seçilmesini sağlar.

    • Parametreler
      • sıralama_alanları : Seçilecek verilerin , sıralanacağı alan isimleri.String tipindedir.
  • Örnek Kullanım
 SQL_QUERY query( DB ) ;
 query.PREPARE_SELECT( "crm_saticilar" ,"satici_kodu , satici_ismi " ) ;
 int secilen_kayit_sayisi = query.SELECT( "satici_ismi DESC") ;

crm_saticilar tablosundan , satici_kodu ve satici_ismi alanlarındaki veriler , satici_ismi alanına göre büyükten küçüğe azalan sıralanacak şekilde seçildi.

  • 3 ) – SELECT( "sıralama_alanları" , "başlangıç_satırı" , "saçilecek_satır_sayısı" )

Bu kullanımda, sıralama alanları ile belirlenen alanlar altında sırlanmış verilerden , başlangıç satırı ile verilen satırdan itibaren seçilecek satır sayısı kadar satır seçilir.

Burada başlangıç satırı , dizi indeksi gibidir.İlk satır 0.cı indekstir. Mesela verilen 5 parametresi sonuçlar arasından 6.cı satır anlamına gelir.

    • Parametreler
      • sıralama_alanları  : Seçilecek verilerin , sıralanacağı alan isimleri.String tipindedir.
      • baslangıç_satırı  : Seçilecek satırın indeksidir.int tipindedir.
      • secilecek_satır_sayısı  : Seçilecek satır sayısı.int tipindedir.
  • Örnek Kullanım
 SQL_QUERY query( DB );
 query.PREPARE_SELECT("crm_saticilar","satici_kodu, satici_ismi" ) ;
 query.SELECT( "satici_ismi DESC" , 2 , 3 ) ;

crm_saticilar tablosundan , satici_kodu ve satici_ismi alanları altındaki kayıtlar , satici_ismi'ne göre büyükten küçüğe sıralandı. Bulunan sonuçladan 2.indeksten itibaren ( 2.indeksteki kayıt dahil ) 3 tane kayıt seçildi.

 NEXT

Seçim sorgusundan sonra sonuçlara sırasıyla ilk satırdan son satıra doğru erişmeyi sağlar.Her çağırılışında bir sonraki sonuca geçer ve true geri verir.Bir sonrası yoksa false geri verir.

  • Örnek Kullanım
  SQL_QUERY sql_query( DB );
  sql_query.PREPARE_SELECT ( "crm_saticilar" ,"satici_kodu , satici_ismi ", "satici_kodu>:satici_kodu");
  sql_query.SET_VALUE ( ":satici_kodu", 2 ) ;
  int secilen_kayit_sayisi = sql_query.SELECT() ;
  while( query.NEXT()){
     .....
     .....
  }

crm_saticilar tablosundan satici_kodu 2'den büyük olan kayıtların satici_kodu ve satici_ismi alanlarındaki verileri seçildi.Her sonuca sırasıyla NEXt fonksiyonu ile erişiliyor.

UYARI : Seçim sorgusundan sonra VALUE fonksiyonundan önce bu fonksiyon çağırılmalıdır.
 VALUE

Fonksiyon , sorgu sonucu istenilen alanlardaki değerlere erişmeyi sağlar.

  • Bu fonksiyonun 2 tane kullanımı vardır.
  • 1 ) – VALUE ( "alan_indeksi" )

Bir seçim sorgusu sonucu , alan indeksi verilen alandaki veriyi verir.Veri QVariant tipinde geri verilir.

    • Parametreler
      • alan_indeksi : Değeri istenen alanın indeksi.int tipindedir.
  • Örnek Kullanım
   sql_query.NEXT();
   m_ui->line_edit_satici_kodu->setText    ( sql_query.VALUE(0).toString() );
   m_ui->lineEdit_satici_ismi->setText     ( sql_query.VALUE(1).toString() );

Bir sorgu sonuclarından birisinin 0.cı ve 1.ci alanlarındaki veriler line editlere set ediliyor.

  • 2 ) – QVariant VALUE ( "alanın_adı" )

Bir seçim sorgusu sonucu , alan adı verilen alandaki veriyi verir.Veri QVariant tipinde geri verilir.Diğer kullanıma göre daha yavaştır.

    • Parametreler
      • alanın_adı : Değeri istenenen alanın adı.
  • Örnek Kullanım

Örnek kullanım diğeriyle aynıdır.

 sql_query.NEXT();
 m_ui->line_edit_satici_kodu->setText    ( sql_query.VALUE("satici_kodu").toString() );
 m_ui->lineEdit_satici_ismi->setText     ( sql_query.VALUE("satici_ismi").toString() );

Burdada alanlardaki verilere , alanların ismiyle eriştik.

NOT : VALUE fonksiyonu kullanılmadan önce mutlaka NEXT() fonksiyonu çağırılmalıdır.
RESTART_NEXT

Bu fonksiyon , NEXT işlemi yaparken sayıcımızı sıfırlar.Sonuç tablosunda ilk satıra gider.Bundan sonra kullanılacak VALUE fonksiyonu bize sonuç tablosunun ilk kaydını verecektir.

FINISH

Sorguyu sonlandırır.SQL ile olan bağlantı sonlanır.Bu fonksiyon , bazı SQL'ler sorgudan sonra bırakılmazsa bırakılana kadar tekrar alınamazlar.

NUM_OF_ROWS

Bir sorgu sonucu bulunan satır sayısını verir.Satır bulunamazsa 0 verir.Bu fonksiyon , sorgu çalıştırıldıktan sonra çağırılmalıdır.

AND_EKLE

Bu fonksiyon , sorgular çalıştırılmadan önce sorgulara WHERE koşulu eklemek için kullanılır. Eğer sorguda WHERE koşulu varsa koşulun sonuna AND ile beraber yeni koşul eklenir. WHERE koşulu yoksa da eklencek koşul WHERE koşulu olarak eklenir.

  • AND_EKLE( "where_koşulu" )
    • Parametreler :
      • where_koşulu : Eklenecek olan WHERE koşuludur.String tipindedir.
  • Örnek Kullanım
SQL_QUERY sql_query ( DB );
sql_query.PREPARE_SELECT("muh_hesaplar" , "hesap_id,tam_hesap_kodu, hesap_ismi" );
sql_query.AND_EKLE( "tam_hesap_kodu LIKE :tam_hesap_kodu_1 OR hesap_ismi LIKE :tam_hesap_kodu_2" );

Seçim sorgusunda WHERE koşulu konulmamamış.AND_EKLE fonksiyonu ile , tam_hesap_kodu , tam_hesap_kodu_1 ve tam_hesap_kodu_2 değişkenleri ile verilen değerlere eşit olma koşulu WHERE koşulu olarak sorguya ekleniyor.

UYARI :  LIKE ile eklenen koşul değişkenlerine değerler SET_LIKE , diğerlerine SET_VALUE ile atanmalıdır.Bu fonksiyonlar sorgu çalıştırılmadan önce kullanılmalıdır.
OR_EKLE

Bu fonksiyon da AND_EKLE fonksiyonu gibidir. Tek farkı eğer sorguda WHERE koşulu varsa koşulun sonuna OR ile beraber yeni koşul eklenir.

  • OR_EKLE( "where_koşulu" )
    • Parametreler :
      • "where_koşulu" : Eklenecek olan WHERE koşuludur.
  • Örnek Kullanım
Kullanım AND_EKLE fonksiyonu ile birebir aynıdır.
UYARI :  LIKE ile eklenen koşul değişkenlerine değerler SET_LIKE , diğerlerine SET_VALUE ile atanmalıdır.Bu fonksiyonlar sorgu çalıştırılmadan önce kullanılmalıdır.
SET_LIKE

Sorgularda LIKE ile belirlenen değişkenlere değerler atamak için kullanılır.

  • SET_LIKE( "değişkenin_ismi" , "değişkenin_değeri" )
    • Parametreler :
      • değişkenin_ismi : Değer atanacak LIKE değişkeni ifadesi.String tipindedir.
      • değişkenin_değeri : Değişkene atanacak değer.QVariant tipindedir.
  • Örnek Kullanım
 SQL_QUERY sql_query ( DB );
 sql_query.PREPARE_SELECT("muh_hesaplar" , "hesap_id,tam_hesap_kodu, hesap_ismi" );
 sql_query.AND_EKLE( "tam_hesap_kodu LIKE :tam_hesap_kodu_1 OR hesap_ismi LIKE :tam_hesap_kodu_2" );
 sql_query.SET_LIKE( ":tam_hesap_kodu_1" , m_ui->line_edit_hesap_kodu_ismi->text());
 sql_query.SET_LIKE( ":tam_hesap_kodu_2" , m_ui->line_edit_hesap_kodu_ismi->text());

AND ile oluşturulan WHERE koşulundaki LIKE ile belirlenen değişkenlere line editlerideki değerler SET_LIKE ile atandı.

UYARI :  LIKE ile eklenen koşul değişkenlerine değerler SET_LIKE , diğerlerine SET_VALUE ile atanmalıdır.Bu fonksiyon içerisinde LIKE olmayan sorgular
         üzerinde kullanılmamalıdır.
TO_QVARIANT

Fonksiyon , verilen değer listesini , QVariant listesi tipinde geri verir.

  • Bu fonksiyonun 2 farklı kullanımı vardır.
  • 1 ) – TO_QVARIANT( "değer_listesi" )
    • Parametreler :
      • "değer_listesi" : QVARIANT tipine dönüştürülecek değer listesi.QList tipindedir.
  • Örnek Kullanım
 query.TO_QVARIANT(M_DEMIRBASLAR_ID_LISTESI);

QList<int> olarak verilen değer listesi QList<QVARINANT> olarak geri verildi.

  • 2 ) – TO_QVARIANT( "değer_listesi" )
    • Parametreler :
      • değer_listesi : QVARIANT tipine dönüştürülecek değer listesi.QStringList tipindedir.
  • Örnek Kullanım
Kullanım aynıdır.Tek farkı dönüştürülecek değer listesi QStringList tipindedir.
AND_MULTI_EKLE

Önceden hazırladığımız sorgu sonuçları arasından , id listesini bildiğimiz kayıtlarla işlem yapmak için bu fonksiyonu kullanırız.Fonksiyon , id listesindeki değerleri , WHERE koşulu olarak sorguya ekler.( WHERE koşulu sorguda varsa , WHERE koşulunun sonuna AND ve yeni koşullar şeklinde eklenir.)

Mesela , önceden hazırladığımız sorgunun sonucunda 1000 tane kayıt var.Bu 1000 kayıt arasından , id'sini bildiğimiz 170 tanesi ile işlem yapmak istediğimizde , bu fonksiyonla sorgunun WHERE koşuluna id'si , id listemizdeki değerlere eşit ve aralarına AND veya OR gelecek şekilde koşullarımızı ekleriz.

  • AND_MULTI_EKLE( "tablo_id", "değer_listesi", "tip_ayracı")
    • Parametreler :
      • tablo_id : WHERE koşulunda kullancağımız tablo_id'si.String tipindedir.
      • değer_listesi : tablo_id için belirlenecek değer listesi.QList<QVARIANT> tipindedir.
      • tip_ayracı : WHERE koşuluna eklenecek her değer arasına gelecek olan ifade.CEREN_OR veya CEREN_AND olabilir.
  • Örnek Kullanım
  select_query.AND_MULTI_EKLE("demirbas_id" ,  select_query.TO_QVARIANT(M_DEMIRBASLAR_ID_LISTESI) , CEREN_OR);

Hazırlanmış bir sorguya , WHERE koşulu olarak , demirbas_id'si olarak , listedeki değerler , aralarına OR gelecek şekilde ekleniyor. WHERE ( … AND ) demirbas_id =: deger_1 OR demirbas_id =: değer_2 … şeklinde WHERE koşulu eklenmiştir.

OR_MULTI_EKLE

Bu fonksiyon , AND_MULTI_EKLE fonksiyonu ile benzerdir.Tek farkı WHERE koşulu varsa koşulun sonuna OR ve koşullarımızı ekler.

  • AND_MULTI_EKLE( "tablo_id", "değer_listesi", "tip_ayracı")
    • Parametreler :
      • tablo_id : WHERE koşulunda kullancağımız tablo_id'si.String tipindedir.
      • değer_listesi : tablo_id için belirlenecek değer listesi.QList<QVARIANT> tipindedir.
      • tip_ayracı : WHERE koşuluna eklenecek her değer arasına gelecek olan ifade.CEREN_OR veya CEREN_AND olabilir.
  • Örnek Kullanım
Kullanım şekli AND_MULTI_EKLE fonksiyonu ile aynıdır.