Хранилища Subversion OpenInventory

Редакция

Редакция 37 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 37 Редакция 39
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
    createSqlString();                  // ñôîðìèðóåì ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå
25
    createSqlString();                  // ñôîðìèðóåì ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå
25
}
26
}
26
27
27
28
28
29
29
/*******************************************************************
30
/*******************************************************************
30
** Ôóíêöèÿ óñòàíàâëèâàò ïåðåííóþ name (èìÿ ïîëÿ),
31
** Ôóíêöèÿ óñòàíàâëèâàò ïåðåííóþ name (èìÿ ïîëÿ),
31
**
32
**
32
*******************************************************************/
33
*******************************************************************/
33
34
34
35
35
36
36
void TableField::setName(QString name){
37
void TableField::setName(QString name){
37
    TableField::fieldName = name;
38
    TableField::fieldName = name;
38
    TableField::createSqlString();
39
    TableField::createSqlString();
39
}
40
}
40
41
41
42
42
QString TableField::name(){
43
QString TableField::name(){
43
    return TableField::fieldName;
44
    return TableField::fieldName;
44
}
45
}
45
46
46
QString TableField::type(){
47
QString TableField::type(){
47
    return TableField::fieldType;
48
    return TableField::fieldType;
48
}
49
}
49
50
50
void TableField::setType(QString ftype){
51
void TableField::setType(QString ftype){
51
TableField::fieldType = ftype;
52
TableField::fieldType = ftype;
52
TableField::createSqlString();
53
TableField::createSqlString();
53
}
54
}
54
55
55
/*************************************************************************
56
/*************************************************************************
56
** Ôóíêöèÿ isNotNull() âîçâðàùàåò true, åñëè ïîëå èìååò àòðèáóò "NOT NULL"
57
** Ôóíêöèÿ isNotNull() âîçâðàùàåò true, åñëè ïîëå èìååò àòðèáóò "NOT NULL"
57
** Èíà÷å - âîçâðàùàåò false
58
** Èíà÷å - âîçâðàùàåò false
58
*************************************************************************/
59
*************************************************************************/
59
60
60
bool TableField::isNotNull(){
61
bool TableField::isNotNull(){
61
return TableField::notNull;
62
return TableField::notNull;
62
}
63
}
63
64
64
/*******************************************************************
65
/*******************************************************************
65
** Ôóíêöèÿ óñòàíàâëèâàåò àòðèáóò ïîëÿ "NOT NULL"
66
** Ôóíêöèÿ óñòàíàâëèâàåò àòðèáóò ïîëÿ "NOT NULL"
66
** Çíà÷åíèå ïåðåäàåòñÿ  ÷åðåç ïàðàìåòð ôóíêöèè
67
** Çíà÷åíèå ïåðåäàåòñÿ  ÷åðåç ïàðàìåòð ôóíêöèè
67
*******************************************************************/
68
*******************************************************************/
68
69
69
70
70
void TableField::setNotNull(bool fnotNull){
71
void TableField::setNotNull(bool fnotNull){
71
    if ((fnotNull) && (defaultValue == "NULL")) defaultValue = ""; // ïîëå íå ìîæåò áûòü ïóñòûì, ïîýòîìó, åñëè çíà÷åíèå ïî óìîë÷àíèþ NULL, ïîìåíÿåì åãî íà ïóñòóþ ñòðîêó
72
    if ((fnotNull) && (defaultValue == "NULL")) defaultValue = ""; // ïîëå íå ìîæåò áûòü ïóñòûì, ïîýòîìó, åñëè çíà÷åíèå ïî óìîë÷àíèþ NULL, ïîìåíÿåì åãî íà ïóñòóþ ñòðîêó
72
    TableField::notNull = fnotNull;
73
    TableField::notNull = fnotNull;
73
    TableField::createSqlString(); // Ãåíåðèðóåò ñòðîêó Sql-çàïðîñà ñ íîâûìè ïàðàìåòðàìè
74
    TableField::createSqlString(); // Ãåíåðèðóåò ñòðîêó Sql-çàïðîñà ñ íîâûìè ïàðàìåòðàìè
74
}
75
}
75
76
76
77
77
/********************************************************************************************
78
/********************************************************************************************
78
** Ôóíêöèÿ ãåíåðèðóåò ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå
79
** Ôóíêöèÿ ãåíåðèðóåò ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå
79
** è ïðèñâàèâàåò ïîëó÷åííîå çíà÷åíèå ïåðåìåííîé SqlString
80
** è ïðèñâàèâàåò ïîëó÷åííîå çíà÷åíèå ïåðåìåííîé SqlString
80
********************************************************************************************/
81
********************************************************************************************/
81
82
82
void TableField::createSqlString(){
83
void TableField::createSqlString(){
83
QString str_tmp = "";
84
QString str_tmp = "";
84
str_tmp.append(tr("'"));
85
str_tmp.append(tr("`"));
85
str_tmp.append(fieldName);
86
str_tmp.append(fieldName);
86
str_tmp.append(tr("' "));
87
str_tmp.append(tr("` "));
87
str_tmp.append(fieldType);
88
str_tmp.append(fieldType);
88
//str_tmp.append(tr(" "));
89
//str_tmp.append(tr(" "));
89
if (characterSet !="") {
90
if (characterSet !="") {
90
str_tmp.append(tr(" character set"));
91
str_tmp.append(tr(" character set"));
91
str_tmp.append(characterSet);
92
str_tmp.append(characterSet);
92
}
93
}
93
if (notNull) { str_tmp.append(tr(" NOT NULL")); }
94
if (notNull) { str_tmp.append(tr(" NOT NULL")); }
94
if (defaultValue !="") {
95
if (defaultValue !="") {
95
    str_tmp.append(tr(" default '"));
96
    str_tmp.append(tr(" default '"));
96
    str_tmp.append(defaultValue);
97
    str_tmp.append(defaultValue);
97
    str_tmp.append(tr("'"));}
98
    str_tmp.append(tr("'"));}
98
99
-
 
100
if (TableField::autoIncrement) {
-
 
101
     str_tmp.append(tr(" "));
-
 
102
     str_tmp.append(tr("AUTO_INCREMENT"));
-
 
103
}
99
TableField::SqlString = str_tmp;
104
TableField::SqlString = str_tmp;
100
}
105
}
101
106
102
107
103
QString TableField::sqlString(){
108
QString TableField::sqlString(){
104
return TableField::SqlString;
109
return TableField::SqlString;
105
}
110
}
106
111
107
112
108
void TableField::setDefaultValue(QString fdefaultValue){
113
void TableField::setDefaultValue(QString fdefaultValue){
109
 TableField::defaultValue = fdefaultValue;
114
 TableField::defaultValue = fdefaultValue;
110
 TableField::createSqlString();
115
 TableField::createSqlString();
111
}
116
}
112
117
-
 
118
-
 
119
-
 
120
void TableField::setAutoIncrement(bool autoInc){
-
 
121
    TableField::autoIncrement = autoInc;
-
 
122
    TableField::createSqlString();
-
 
123
}
-
 
124
-
 
125
-
 
126
bool TableField::isAutoIncrement(){
-
 
127
    return TableField::autoIncrement;
-
 
128
}
113
 
129