86,3 → 86,61 |
} |
|
|
|
/************************************************ |
** Ôóíêöèÿ ñîçäàåò íåîáõîäèìûå òàáëèöû â áàçå äàííûõ |
** äëÿ õðàíåíèÿ íàçâàíèÿ è îïèñàíèÿ êëàññîâ |
** (Òàáëèöà ListOfClasses è Òàáëèöà DescriptionOfClasses) |
************************************************/ |
|
|
bool MySql::createDataBase(){ |
SqlTable* tbl; |
TableField* fld; |
if (!db.isOpen()){ |
MySql::mysqlLastError = tr("Database is not open!"); |
return false; |
} |
tbl = new SqlTable(tr("ListOfClasses")); // ñîçäàäèì òàáëèöó ñ èìåíåì ListOfClasses äëÿ õðàíåíèÿ ñïèñêà êëàññîâ |
fld = new TableField(tr("ClassName"), tbl); // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü èìåíà êëàññîâ, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ) |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("New class")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("ClassAlias"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("New class alias")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("TableWhithInstance"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("New class instance")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("Comment"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("without comments")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
|
if(!MySql::createTable(tbl)){ // åñëè íå óäàåòñÿ ñîçäàòü òàáëèöó |
|
// delete fld; |
delete tbl; // ÷èñòèì çà ñîáîé |
return false; // âûâîäèì îøèáêó |
} |
|
|
else { // òàáëèöó óñïåøíî ñîçäàíà |
// delete fld; |
delete tbl; // ÷èñòèì çà ñîáîé |
return true; // ñîîáùàåì îá óñïåõå |
|
} |
|
|
} |