Редакция 161 | Редакция 216 | К новейшей редакции | Весь файл | Учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 161 | Редакция 210 | ||
---|---|---|---|
Строка 230... | Строка 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 | }
|
Строка 421... | Строка 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(); |