Редакция 39 | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 39 | Редакция 40 | ||
---|---|---|---|
1 | #include "tablefield.h"
|
1 | #include "tablefield.h"
|
2 | 2 | ||
3 | /*TableField::TableField()
|
3 | /*TableField::TableField()
|
4 | {
|
4 | {
|
5 | }
|
5 | }
|
6 | */
|
6 | */
|
7 | 7 | ||
8 | /***********************************************************************************************
|
8 | /***********************************************************************************************
|
9 | ** Êîíñòðóêòîð êëàññà TableField èìååò îäèí îáÿçàòåëüíûé ïàðàìåòð - èìÿ ïîëÿ
|
9 | ** Êîíñòðóêòîð êëàññà TableField èìååò îäèí îáÿçàòåëüíûé ïàðàìåòð - èìÿ ïîëÿ
|
10 | ** îñòàëüíûå ïàðàìåòðû èìåþò çíà÷åíèÿ ïî óìîë÷àíèþ:
|
10 | ** îñòàëüíûå ïàðàìåòðû èìåþò çíà÷åíèÿ ïî óìîë÷àíèþ:
|
11 | ** *parent = 0 (íåò "ðîäèòåëüñêîãî" îáúåêòà)
|
11 | ** *parent = 0 (íåò "ðîäèòåëüñêîãî" îáúåêòà)
|
12 | ** ftype = CHAR(30) (òèï õðàíèìûõ â ïîëå äàííûõ - ñòðîêà èç 30 ñèìâîëîâ)
|
12 | ** ftype = CHAR(30) (òèï õðàíèìûõ â ïîëå äàííûõ - ñòðîêà èç 30 ñèìâîëîâ)
|
13 | ** fdefaultValue = NULL (äàííûå â ïîëå ìîãóò èìåòü "ïóñòîå" çíà÷åíèå)
|
13 | ** fdefaultValue = NULL (äàííûå â ïîëå ìîãóò èìåòü "ïóñòîå" çíà÷åíèå)
|
14 | ***********************************************************************************************/
|
14 | ***********************************************************************************************/
|
15 | 15 | ||
16 | TableField::TableField(QString fname, QObject *parent, QString ftype, QString fdefaultValue): |
16 | TableField::TableField(QString fname, QObject *parent, QString ftype, QString fdefaultValue): |
17 | QObject(parent) |
17 | QObject(parent) |
18 | {
|
18 | {
|
19 | fieldName = fname; |
19 | fieldName = fname; |
20 | fieldType = ftype; |
20 | fieldType = ftype; |
21 | defaultValue = fdefaultValue; |
21 | defaultValue = fdefaultValue; |
22 | notNull = false; // ïî óìîë÷àíèþ äàííûå â ïîëå ìîãóò îòñóòñòâîâàòü (áûòü NULL) |
22 | notNull = false; // ïî óìîë÷àíèþ äàííûå â ïîëå ìîãóò îòñóòñòâîâàòü (áûòü NULL) |
23 | characterSet = ""; // êîäèðîâêà ïî óìîë÷àíèþ (íå óêàçûâàòü êîäèðîâêó) |
23 | characterSet = ""; // êîäèðîâêà ïî óìîë÷àíèþ (íå óêàçûâàòü êîäèðîâêó) |
24 | autoIncrement = false; // ñäåëàåì íàøå ïîëå àâòîèíêåìåíòíûì |
24 | autoIncrement = false; // ñäåëàåì íàøå ïîëå àâòîèíêåìåíòíûì |
25 | createSqlString(); // ñôîðìèðóåì ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå |
25 | createSqlString(); // ñôîðìèðóåì ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå |
26 | }
|
26 | }
|
27 | 27 | ||
28 | 28 | ||
29 | 29 | ||
30 | /*******************************************************************
|
30 | /*******************************************************************
|
31 | ** Ôóíêöèÿ óñòàíàâëèâàò ïåðåííóþ name (èìÿ ïîëÿ),
|
31 | ** Ôóíêöèÿ óñòàíàâëèâàò ïåðåííóþ name (èìÿ ïîëÿ),
|
32 | **
|
32 | **
|
33 | *******************************************************************/
|
33 | *******************************************************************/
|
34 | 34 | ||
35 | 35 | ||
36 | 36 | ||
37 | void TableField::setName(QString name){ |
37 | void TableField::setName(QString name){ |
38 | TableField::fieldName = name; |
38 | TableField::fieldName = name; |
39 | TableField::createSqlString(); |
39 | TableField::createSqlString(); |
40 | }
|
40 | }
|
41 | 41 | ||
42 | 42 | ||
43 | QString TableField::name(){ |
43 | QString TableField::name(){ |
44 | return TableField::fieldName; |
44 | return TableField::fieldName; |
45 | }
|
45 | }
|
46 | 46 | ||
47 | QString TableField::type(){ |
47 | QString TableField::type(){ |
48 | return TableField::fieldType; |
48 | return TableField::fieldType; |
49 | }
|
49 | }
|
50 | 50 | ||
51 | void TableField::setType(QString ftype){ |
51 | void TableField::setType(QString ftype){ |
52 | TableField::fieldType = ftype; |
52 | TableField::fieldType = ftype; |
53 | TableField::createSqlString(); |
53 | TableField::createSqlString(); |
54 | }
|
54 | }
|
55 | 55 | ||
56 | /*************************************************************************
|
56 | /*************************************************************************
|
57 | ** Ôóíêöèÿ isNotNull() âîçâðàùàåò true, åñëè ïîëå èìååò àòðèáóò "NOT NULL"
|
57 | ** Ôóíêöèÿ isNotNull() âîçâðàùàåò true, åñëè ïîëå èìååò àòðèáóò "NOT NULL"
|
58 | ** Èíà÷å - âîçâðàùàåò false
|
58 | ** Èíà÷å - âîçâðàùàåò false
|
59 | *************************************************************************/
|
59 | *************************************************************************/
|
60 | 60 | ||
61 | bool TableField::isNotNull(){ |
61 | bool TableField::isNotNull(){ |
62 | return TableField::notNull; |
62 | return TableField::notNull; |
63 | }
|
63 | }
|
64 | 64 | ||
65 | /*******************************************************************
|
65 | /*******************************************************************
|
66 | ** Ôóíêöèÿ óñòàíàâëèâàåò àòðèáóò ïîëÿ "NOT NULL"
|
66 | ** Ôóíêöèÿ óñòàíàâëèâàåò àòðèáóò ïîëÿ "NOT NULL"
|
67 | ** Çíà÷åíèå ïåðåäàåòñÿ ÷åðåç ïàðàìåòð ôóíêöèè
|
67 | ** Çíà÷åíèå ïåðåäàåòñÿ ÷åðåç ïàðàìåòð ôóíêöèè
|
68 | *******************************************************************/
|
68 | *******************************************************************/
|
69 | 69 | ||
70 | 70 | ||
71 | void TableField::setNotNull(bool fnotNull){ |
71 | void TableField::setNotNull(bool fnotNull){ |
72 | if ((fnotNull) && (defaultValue == "NULL")) defaultValue = ""; // ïîëå íå ìîæåò áûòü ïóñòûì, ïîýòîìó, åñëè çíà÷åíèå ïî óìîë÷àíèþ NULL, ïîìåíÿåì åãî íà ïóñòóþ ñòðîêó |
72 | if ((fnotNull) && (defaultValue == "NULL")) defaultValue = ""; // ïîëå íå ìîæåò áûòü ïóñòûì, ïîýòîìó, åñëè çíà÷åíèå ïî óìîë÷àíèþ NULL, ïîìåíÿåì åãî íà ïóñòóþ ñòðîêó |
73 | TableField::notNull = fnotNull; |
73 | TableField::notNull = fnotNull; |
74 | TableField::createSqlString(); // Ãåíåðèðóåò ñòðîêó Sql-çàïðîñà ñ íîâûìè ïàðàìåòðàìè |
74 | TableField::createSqlString(); // Ãåíåðèðóåò ñòðîêó Sql-çàïðîñà ñ íîâûìè ïàðàìåòðàìè |
75 | }
|
75 | }
|
76 | 76 | ||
77 | 77 | ||
78 | /********************************************************************************************
|
78 | /********************************************************************************************
|
79 | ** Ôóíêöèÿ ãåíåðèðóåò ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå
|
79 | ** Ôóíêöèÿ ãåíåðèðóåò ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå
|
80 | ** è ïðèñâàèâàåò ïîëó÷åííîå çíà÷åíèå ïåðåìåííîé SqlString
|
80 | ** è ïðèñâàèâàåò ïîëó÷åííîå çíà÷åíèå ïåðåìåííîé SqlString
|
81 | ********************************************************************************************/
|
81 | ********************************************************************************************/
|
82 | 82 | ||
83 | void TableField::createSqlString(){ |
83 | void TableField::createSqlString(){ |
84 | QString str_tmp = ""; |
84 | QString str_tmp = ""; |
85 | str_tmp.append(tr("`")); |
85 | str_tmp.append(tr("`")); |
86 | str_tmp.append(fieldName); |
86 | str_tmp.append(fieldName); |
87 | str_tmp.append(tr("` ")); |
87 | str_tmp.append(tr("` ")); |
88 | str_tmp.append(fieldType); |
88 | str_tmp.append(fieldType); |
89 | //str_tmp.append(tr(" "));
|
89 | //str_tmp.append(tr(" "));
|
90 | if (characterSet !="") { |
90 | if (characterSet !="") { |
91 | str_tmp.append(tr(" character set")); |
91 | str_tmp.append(tr(" character set")); |
92 | str_tmp.append(characterSet); |
92 | str_tmp.append(characterSet); |
93 | }
|
93 | }
|
94 | if (notNull) { str_tmp.append(tr(" NOT NULL")); } |
94 | if (notNull) { str_tmp.append(tr(" NOT NULL")); } |
95 | if (defaultValue !="") { |
95 | if ((defaultValue !="") && (defaultValue !="NULL")) { |
96 | str_tmp.append(tr(" default '")); |
96 | str_tmp.append(tr(" default '")); |
97 | str_tmp.append(defaultValue); |
97 | str_tmp.append(defaultValue); |
98 | str_tmp.append(tr("'"));} |
98 | str_tmp.append(tr("'"));} |
- | 99 | if ((defaultValue =="NULL")) { |
|
- | 100 | str_tmp.append(tr(" default ")); |
|
- | 101 | str_tmp.append(defaultValue);} |
|
99 | 102 | ||
100 | if (TableField::autoIncrement) { |
103 | if (TableField::autoIncrement) { |
101 | str_tmp.append(tr(" ")); |
104 | str_tmp.append(tr(" ")); |
102 | str_tmp.append(tr("AUTO_INCREMENT")); |
105 | str_tmp.append(tr("AUTO_INCREMENT")); |
103 | }
|
106 | }
|
104 | TableField::SqlString = str_tmp; |
107 | TableField::SqlString = str_tmp; |
105 | }
|
108 | }
|
106 | 109 | ||
107 | 110 | ||
108 | QString TableField::sqlString(){ |
111 | QString TableField::sqlString(){ |
109 | return TableField::SqlString; |
112 | return TableField::SqlString; |
110 | }
|
113 | }
|
111 | 114 | ||
112 | 115 | ||
113 | void TableField::setDefaultValue(QString fdefaultValue){ |
116 | void TableField::setDefaultValue(QString fdefaultValue){ |
114 | TableField::defaultValue = fdefaultValue; |
117 | TableField::defaultValue = fdefaultValue; |
115 | TableField::createSqlString(); |
118 | TableField::createSqlString(); |
116 | }
|
119 | }
|
117 | 120 | ||
118 | 121 | ||
119 | 122 | ||
120 | void TableField::setAutoIncrement(bool autoInc){ |
123 | void TableField::setAutoIncrement(bool autoInc){ |
121 | TableField::autoIncrement = autoInc; |
124 | TableField::autoIncrement = autoInc; |
122 | TableField::createSqlString(); |
125 | TableField::createSqlString(); |
123 | }
|
126 | }
|
124 | 127 | ||
125 | 128 | ||
126 | bool TableField::isAutoIncrement(){ |
129 | bool TableField::isAutoIncrement(){ |
127 | return TableField::autoIncrement; |
130 | return TableField::autoIncrement; |
128 | }
|
131 | }
|
129 | 132 |