wiki-framework-export-kernel

EXPORT KERNEL

Konu başlıkları

Export Kernel Nedir ?

Export Kernel , veri tabanındaki tablolardaki kayıtları , seçilen *.ods uzantılı dosyaya kaydeden kernel'dır.

 Export Kernel Sınıfı

Bu sınıfı miras alarak farklı Export Kernel'lar oluşturulabilir.

 Zorunlu Fonksiyonlar

EXPORT_ROW

Bu fonksiyonda , verilerin kaydedileceği *.ods uzantılı dosyayının başlıklarını belirler ve veri tabanından dışarıya aktıralacak verileri sorgu ile alırız. Alınan verileri dışa aktarmak için oluşturulmuş tabloya aktarırız.

  • Veri tababındaki adres kayıtlarını dışarıya aktaran ADRES_EXPORT örneğine bakalım..
    • Veri tabanından alınan kayıtlar ekrandaki tabloya ekleniyor..
void ADRES_EXPORT::EXPORT_ROWS()
{
   QStringList row_title ;
   QTextCodec *codec = QTextCodec::codecForName( m_text_codec );
   row_title << tr( "Firma Şahıs Adı" ) << tr( "Telefon" )<< tr( "Ülke" )
             << tr( "Şehir" )<< tr( "İlçe" )<< tr( "Adres" ) << tr("E-Posta")  ;
   SET_ROW_TITLE( row_title );
   SQL_QUERY query (DB);
   query.PREPARE_SELECT("adr_adresler","firma_sahis_adi,tel_ulke_kodu, tel_alan_kodu, telefon ,"
                                       "ulke,sehir,ilce, adres_satiri_1,adres_satiri_2,"
                                       "adres_satiri_3,email" );
   query.AND_MULTI_EKLE("adres_id",query.TO_QVARIANT(m_adres_id_list),CEREN_OR);
   if ( query.SELECT() EQ 0 ) {
       return;
   }
   while ( query.NEXT() EQ true ) {
       QStringList row_values;
       row_values << codec->toUnicode( query.VALUE ( 0 ).toByteArray() ) ;
       row_values << codec->toUnicode( query.VALUE ( 1 ).toByteArray() ) +  
                  codec->toUnicode( query.VALUE ( 2 ).toByteArray() )    +  
                  codec->toUnicode( query.VALUE ( 3 ).toByteArray() );
       row_values << codec->toUnicode( query.VALUE ( 4 ).toByteArray() );
       row_values << codec->toUnicode( query.VALUE ( 5 ).toByteArray() );
       row_values << codec->toUnicode( query.VALUE ( 6 ).toByteArray() );
       row_values << codec->toUnicode( query.VALUE ( 7 ).toByteArray() ) + 
                  codec->toUnicode( query.VALUE ( 8 ).toByteArray() )    + 
                  codec->toUnicode( query.VALUE ( 9 ).toByteArray() );
       row_values << codec->toUnicode( query.VALUE ( 10 ).toByteArray() ) ;
       ADD_ROW(row_values);
   }
}
  • Adres export örneğine bakalım..

 

    • Arama kriteri * olduğu için tüm kayıtlar tabloda gösteriliyor.. :

 

ADRES_EXPORT_1

 

    • Adres ihraç et button'una basıldığında dosya seçme ekranı geliyor.Kayıtları dışarı ihraç edeceğimiz dosyayı seçiyoruz..

 

ADRES_EXPORT_2

 

    • Dosya seçildikten sonra ekrandaki tablo üzerinde bulunan tüm kayıtlar , seöilen dosyaya aktarılıyor.. :

 

ADRES_EXPORT_3

 

    • Seçtiğimiz dosyayı açtığımızda dosyaya tüm verilerin istediğimiz alanlar altında yazıldığını görüyoruz.. :

 

ADRES_EXPORT_4

 

    • Dosyanın devamı..

 

ADRES_EXPORT_5

 

Hazır Fonksiyonlar

SET_HEADERS

Veri tabanından alınan kayıtların gösterileceği tablonun başlıklarını set eder.

ADD_ROW

Verilen satırı ekrandaki tabloya satır olarak ekler.