142,5 → 142,175 |
|
} |
|
tbl = new SqlTable(tr("DescriptionOfClasses")); // ñîçäàäèì òàáëèöó ñ èìåíåì DescriptionOfClassess äëÿ õðàíåíèÿ îïèñàíèÿ ïîëåé êëàññîâ |
fld = new TableField(tr("FieldName"), tbl); // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü èìåíà ïîëåé, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ) |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("New field")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("FieldAlias"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû ïîëåé êëàññîâ |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("New class alias")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("FieldType"), tbl); // ýòî ÷åòâåðòîå ïîëå òàáëèöû áóäåò òèï ïîëÿ êëàññà |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("CHAR(30)")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("ClassIdentifer"), tbl); // ýòî ïÿòîå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ |
fld->setNotNull(false); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("INT(10)")); // òèï ïîëÿ - öåëîå ÷èñëî |
fld->setDefaultValue(tr("NULL")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
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; // ñîîáùàåì îá óñïåõå |
|
} |
|
|
|
|
|
} |
|
|
|
|
bool MySql::createListOfClassesTable(){ |
|
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; // ñîîáùàåì îá óñïåõå |
|
} |
|
|
|
} |
|
|
|
|
bool MySql::createDescriptionOfClassesTable(){ // ñîçäàåò íåîáõîäèìóþ òàáëèöó â áàçå äàííûõ äëÿ õðàíåíèÿ îïèñàíèÿ êëàññîâ (Òàáëèöà DescriptionOfClasses) |
SqlTable* tbl; |
TableField* fld; |
if (!db.isOpen()){ |
MySql::mysqlLastError = tr("Database is not open!"); |
return false; |
} |
tbl = new SqlTable(tr("DescriptionOfClasses")); // ñîçäàäèì òàáëèöó ñ èìåíåì DescriptionOfClassess äëÿ õðàíåíèÿ îïèñàíèÿ ïîëåé êëàññîâ |
fld = new TableField(tr("FieldName"), tbl); // ýòî âòîðîå ïîëå òàáëèöû áóäåò õðàíèòü èìåíà ïîëåé, ïåðâîå ïîëå ID óæå èìååòñÿ â íîâîé òàáëèöå (îíî ñîçäàåòñÿ ïî óìîë÷àíèþ) |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("New field")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("FieldAlias"), tbl); // ýòî òðåòüå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû ïîëåé êëàññîâ |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("New class alias")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("FieldType"), tbl); // ýòî ÷åòâåðòîå ïîëå òàáëèöû áóäåò òèï ïîëÿ êëàññà |
fld->setNotNull(true); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("CHAR(30)")); // òèï ïîëÿ - ñòðîêà èç 30 ñèìâîëîâ |
fld->setDefaultValue(tr("CHAR(30)")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
tbl->append(fld); // äîáàâëÿåì ïîëå â òàáëèöó |
|
fld = new TableField(tr("ClassIdentifer"), tbl); // ýòî ïÿòîå ïîëå òàáëèöû áóäåò õðàíèòü ïñåâäîíèìû êëàññîâ |
fld->setNotNull(false); // ïîëå íå ìîæåò áûòü ïóñòûì |
fld->setType(tr("INT(10)")); // òèï ïîëÿ - öåëîå ÷èñëî |
fld->setDefaultValue(tr("NULL")); // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
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; // ñîîáùàåì îá óñïåõå |
|
} |
|
|
} |