Subversion Repositories OpenInventory

Rev

Rev 161 | Rev 216 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 161 Rev 210
Line 230... Line 230...
230
        delete tbl;                                 // ÷èñòèì çà ñîáîé
230
        delete tbl;                                 // ÷èñòèì çà ñîáîé
231
        return true;                                // ñîîáùàåì îá óñïåõå
231
        return true;                                // ñîîáùàåì îá óñïåõå
232
232
233
    }
233
    }
234
234
-
 
235
tbl = new SqlTable(tr("Filters"));              // ñîçäàäèì òàáëèöó ñ èìåíåì DescriptionOfClassess äëÿ õðàíåíèÿ îïèñàíèÿ ïîëåé êëàññîâ
-
 
236
fld = new TableField(tr("Model_ID"), tbl);      // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü èìåíà ïîëåé, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ)
-
 
237
fld->setNotNull(false);                         // ïîëå ìîæåò áûòü ïóñòûì
-
 
238
fld->setType(tr("CHAR(30)"));                   // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
-
 
239
fld->setDefaultValue(tr("NULL"));               // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
-
 
240
tbl->append(fld);                               // äîáàâëÿåì ïîëå â òàáëèöó
-
 
241
-
 
242
-
 
243
if(!MySql::createTable(tbl)){                   // åñëè íå óäàåòñÿ ñîçäàòü òàáëèöó
-
 
244
-
 
245
//     delete fld;
-
 
246
    delete tbl;                                 // ÷èñòèì çà ñîáîé
-
 
247
    return false;                               // âûâîäèì îøèáêó
-
 
248
}
-
 
249
-
 
250
-
 
251
else {                                          // òàáëèöó óñïåøíî ñîçäàíà
-
 
252
//       delete fld;
-
 
253
    delete tbl;                                 // ÷èñòèì çà ñîáîé
-
 
254
    return true;                                // ñîîáùàåì îá óñïåõå
-
 
255
-
 
256
}
-
 
257
235
258
236
259
237
260
238
261
239
}
262
}
Line 421... Line 444...
421
444
422
445
423
}
446
}
424
447
425
448
-
 
449
bool MySql::createFiltersTable(){ // ñîçäàåò íåîáõîäèìóþ òàáëèöó â áàçå äàííûõ äëÿ õðàíåíèÿ ôèëüòðîâ (Òàáëèöà Filters)
-
 
450
-
 
451
    SqlTable* tbl;
-
 
452
    TableField* fld;
-
 
453
    if (!db.isOpen()){
-
 
454
        MySql::mysqlLastError = tr("Database is not open!");
-
 
455
        return false;
-
 
456
    }
-
 
457
    tbl = new SqlTable(tr("Filters")); // ñîçäàäèì òàáëèöó ñ èìåíåì Filters äëÿ õðàíåíèÿ ôèëüòðîâ
-
 
458
-
 
459
    fld = new TableField(tr("Model_ID"), tbl);     // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü ID ìîäåëè, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ)
-
 
460
    fld->setNotNull(false);                         // ïîëå ìîæåò áûòü ïóñòûì
-
 
461
    fld->setType(tr("CHAR(30)"));                   // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
-
 
462
    fld->setDefaultValue(tr("NULL"));               // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
-
 
463
    tbl->append(fld);                               // äîáàâëÿåì ïîëå â òàáëèöó
-
 
464
-
 
465
    fld = new TableField(tr("Class_ID"), tbl);      // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ID êëàññà, ê êîòîðîìó áóäåò ïðèìåíÿòüñÿ ôèëüòð
-
 
466
    fld->setNotNull(false);                         // ïîëå ìîæåò áûòü ïóñòûì
-
 
467
    fld->setType(tr("CHAR(30)"));                   // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
-
 
468
    fld->setDefaultValue(tr("NULL"));               // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
-
 
469
    tbl->append(fld);                               // äîáàâëÿåì ïîëå â òàáëèöó
-
 
470
-
 
471
    fld = new TableField(tr("Filter"), tbl);        // ýòî ÷åòâåðòîå ïîëå òàáëèöû áóäåò õðàíèòü íåïîñðåäñòâåííî SQL-âûðàæåíèå
-
 
472
    fld->setNotNull(false);                         // ïîëå ìîæåò áûòü ïóñòûì
-
 
473
    fld->setType(tr("TEXT"));                       // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
-
 
474
    fld->setDefaultValue(tr("NULL"));               // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
-
 
475
    tbl->append(fld);                               // äîáàâëÿåì ïîëå â òàáëèöó
-
 
476
-
 
477
-
 
478
    fld = new TableField(tr("Ñondition"), tbl);      // ýòî ïÿòîå ïîëå òàáëèöû áóäåò õðàíèòü ëîãè÷åñêèå óñëîâèå (AND, OR), c êîòîðûì âûðàæåíèå áóäåò äîáàâëÿòüñÿ â ôèëüòð
-
 
479
    fld->setNotNull(false);                         // ïîëå ìîæåò áûòü ïóñòûì
-
 
480
    fld->setType(tr("CHAR(30)"));                   // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ
-
 
481
    fld->setDefaultValue(tr("NULL"));               // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ
-
 
482
    tbl->append(fld);                               // äîáàâëÿåì ïîëå â òàáëèöó
-
 
483
-
 
484
-
 
485
    if(!MySql::createTable(tbl)){                   // åñëè íå óäàåòñÿ ñîçäàòü òàáëèöó
-
 
486
-
 
487
   //     delete fld;
-
 
488
        delete tbl;                                 // ÷èñòèì çà ñîáîé
-
 
489
        return false;                               // âûâîäèì îøèáêó
-
 
490
    }
-
 
491
-
 
492
-
 
493
    else {                                          // òàáëèöó óñïåøíî ñîçäàíà
-
 
494
 //       delete fld;
-
 
495
        delete tbl;                                 // ÷èñòèì çà ñîáîé
-
 
496
        return true;                                // ñîîáùàåì îá óñïåõå
-
 
497
-
 
498
    }
-
 
499
-
 
500
-
 
501
}
-
 
502
-
 
503
-
 
504
426
QSqlError MySql::dbLastError(){ // ôóíêöèÿ ôîçâðàùàåò ïîñëåäíþþ îøèáêó áàçû äàííûõ
505
QSqlError MySql::dbLastError(){ // ôóíêöèÿ ôîçâðàùàåò ïîñëåäíþþ îøèáêó áàçû äàííûõ
427
    QString error;
506
    QString error;
428
    error = db.lastError().text();
507
    error = db.lastError().text();
429
508
430
    return db.lastError();
509
    return db.lastError();