Хранилища Subversion OpenInventory

Редакция

Редакция 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