Beispiel #1
0
bool HEADER_ICIN_INDEX_YAPISI_OLUSTUR (int index_sayisi, int tablo_id )
{
    int INDEXLER_ARRAY[INDEXLER_ARRAY_SIZE] = {0};

    SQL_QUERY query (DB);

    query.PREPARE_SELECT("sql_tablolar","indexler_array","tablo_id=:tablo_id");
    query.SET_VALUE     (":tablo_id",tablo_id);

    if ( query.SELECT() EQ 0 ) {
        return false;
    }

    query.NEXT();

    UNPACK_INT_ARRAY(query.VALUE(0).toString(),INDEXLER_ARRAY,INDEXLER_ARRAY_SIZE);

    for (int i = 0; i < INDEXLER_ARRAY_SIZE; i += 4 ) {
        if ( INDEXLER_ARRAY[i] EQ 0 ) {
            continue;
        }
        if ( i EQ 0 ) {
            QString alan_adi = GET_ALAN_ADI( tablo_id, INDEXLER_ARRAY[i]);
            file_content += tab (4, "{ ");
            file_content += QString("PRIMARY , 1, {") + "\"" + alan_adi  + "\"" + "}";
            file_content += " }";
            index_sayisi--;
            if (index_sayisi > 0 ) {
                file_content += ",";
            }
            file_content += "\n";
        }
        else {
            int indexteki_kolon_sayisi = 0;
            for ( int j = i; j < i + 4; j++ ) {
                if ( INDEXLER_ARRAY[j] NE 0 ) {
                    indexteki_kolon_sayisi++;
                }
            }
            file_content += tab (4, "{ ");
            file_content += "INDEX , " + QVariant(indexteki_kolon_sayisi).toString() + ", { ";
            for (int j = 0; j < indexteki_kolon_sayisi; j++ ) {
                QString alan_adi = GET_ALAN_ADI( tablo_id, INDEXLER_ARRAY[i+j]);
                file_content += "\"" + alan_adi  + "\"" ;
                if (j NE indexteki_kolon_sayisi -1 ) {
                    file_content += ",";
                }

            }
            file_content += " } }";
            index_sayisi--;
            if (index_sayisi > 0 ) {
                file_content += ",";
            }
            file_content += "\n";
        }

    }
    return true;
}
void SQL_INDEX_BATCH::READ_INDEXES()
{
    SQL_QUERY query (DB);

    query.PREPARE_SELECT("sql_tablolar","indexler_array","tablo_id=:tablo_id");
    query.SET_VALUE     (":tablo_id",p_tablo_id);

    if ( query.SELECT() EQ 0 ) {
        return;
    }

    query.NEXT();

    UNPACK_INT_ARRAY(query.VALUE(0).toString(),INDEXLER_ARRAY,INDEXLER_ARRAY_SIZE);

    int line_number = 1;
    for ( int i = 4; i < INDEXLER_ARRAY_SIZE; i++ ) {
        if ( INDEXLER_ARRAY[i] EQ 0 ) {
            if ( i+1 MOD 4 EQ 0 ) {
                line_number++;
            }
            continue;
        }
        COMBOBOX_ARRAY[line_number-1][i-(4*line_number)]->setCurrentIndex
                (COMBOBOX_ARRAY[line_number][i-(4*line_number)]->findText(GET_ALAN_ADI(p_tablo_id,INDEXLER_ARRAY[i])));

        if ( i+1 MOD 4 EQ 0 ) {
            line_number++;
        }
    }
}