/trunk/ClassEditor/classeditor.ui |
---|
1,7 → 1,8 |
<?xml version="1.0" encoding="UTF-8"?> |
<ui version="4.0"> |
<class>ClassEditor</class> |
<widget class="QMainWindow" name="ClassEditor" > |
<property name="geometry" > |
<widget class="QMainWindow" name="ClassEditor"> |
<property name="geometry"> |
<rect> |
<x>0</x> |
<y>0</y> |
9,16 → 10,42 |
<height>400</height> |
</rect> |
</property> |
<property name="windowTitle" > |
<property name="windowTitle"> |
<string>ClassEditor</string> |
</property> |
<widget class="QMenuBar" name="menuBar" /> |
<widget class="QToolBar" name="mainToolBar" /> |
<widget class="QWidget" name="centralWidget" /> |
<widget class="QStatusBar" name="statusBar" /> |
<widget class="QWidget" name="centralWidget"> |
<widget class="QLineEdit" name="lineEdit"> |
<property name="geometry"> |
<rect> |
<x>20</x> |
<y>30</y> |
<width>571</width> |
<height>32</height> |
</rect> |
</property> |
</widget> |
</widget> |
<widget class="QMenuBar" name="menuBar"> |
<property name="geometry"> |
<rect> |
<x>0</x> |
<y>0</y> |
<width>600</width> |
<height>28</height> |
</rect> |
</property> |
</widget> |
<widget class="QToolBar" name="mainToolBar"> |
<attribute name="toolBarArea"> |
<enum>TopToolBarArea</enum> |
</attribute> |
<attribute name="toolBarBreak"> |
<bool>false</bool> |
</attribute> |
</widget> |
<widget class="QStatusBar" name="statusBar"/> |
</widget> |
<layoutDefault spacing="6" margin="11" /> |
<pixmapfunction></pixmapfunction> |
<layoutdefault spacing="6" margin="11"/> |
<resources/> |
<connections/> |
</ui> |
/trunk/ClassEditor/tablefield.cpp |
---|
5,26 → 5,37 |
} |
*/ |
/*********************************************************************************************** |
** Êîíñòðóêòîð êëàññà TableField èìååò îäèí îáÿçàòåëüíûé ïàðàìåòð - èìÿ ïîëÿ |
** îñòàëüíûå ïàðàìåòðû èìåþò çíà÷åíèÿ ïî óìîë÷àíèþ: |
** *parent = 0 (íåò "ðîäèòåëüñêîãî" îáúåêòà) |
** ftype = CHAR(30) (òèï õðàíèìûõ â ïîëå äàííûõ - ñòðîêà èç 30 ñèìâîëîâ) |
** fdefaultValue = NULL (äàííûå â ïîëå ìîãóò èìåòü "ïóñòîå" çíà÷åíèå) |
***********************************************************************************************/ |
TableField::TableField(QObject *parent) : |
TableField::TableField(QString fname, QObject *parent, QString ftype, QString fdefaultValue): |
QObject(parent) |
{ |
fieldName = tr("New_field"); |
fieldType = tr("CHAR(30)"); |
defaultValue = tr("NULL"); |
fieldName = fname; |
fieldType = ftype; |
defaultValue = fdefaultValue; |
notNull = false; // ïî óìîë÷àíèþ äàííûå â ïîëå ìîãóò îòñóòñòâîâàòü (áûòü NULL) |
characterSet = ""; // êîäèðîâêà ïî óìîë÷àíèþ (íå óêàçûâàòü êîäèðîâêó) |
createSqlString(); // ñôîðìèðóåì ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå |
} |
/************************************************ |
** Функция присвоения значения имени базы данных |
/******************************************************************* |
** Ôóíêöèÿ óñòàíàâëèâàò ïåðåííóþ name (èìÿ ïîëÿ), |
** |
************************************************/ |
*******************************************************************/ |
void TableField::setName(QString name){ |
TableField::fieldName = name; |
TableField::createSqlString(); |
} |
38,5 → 49,64 |
void TableField::setType(QString ftype){ |
TableField::fieldType = ftype; |
TableField::createSqlString(); |
} |
/************************************************************************* |
** Ôóíêöèÿ isNotNull() âîçâðàùàåò true, åñëè ïîëå èìååò àòðèáóò "NOT NULL" |
** Èíà÷å - âîçâðàùàåò false |
*************************************************************************/ |
bool TableField::isNotNull(){ |
return TableField::notNull; |
} |
/******************************************************************* |
** Ôóíêöèÿ óñòàíàâëèâàåò àòðèáóò ïîëÿ "NOT NULL" |
** Çíà÷åíèå ïåðåäàåòñÿ ÷åðåç ïàðàìåòð ôóíêöèè |
*******************************************************************/ |
void TableField::setNotNull(bool fnotNull){ |
if ((fnotNull) && (defaultValue == "NULL")) defaultValue = ""; // ïîëå íå ìîæåò áûòü ïóñòûì, ïîýòîìó, åñëè çíà÷åíèå ïî óìîë÷àíèþ NULL, ïîìåíÿåì åãî íà ïóñòóþ ñòðîêó |
TableField::notNull = fnotNull; |
TableField::createSqlString(); // Ãåíåðèðóåò ñòðîêó Sql-çàïðîñà ñ íîâûìè ïàðàìåòðàìè |
} |
/******************************************************************************************** |
** Ôóíêöèÿ ãåíåðèðóåò ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå |
** è ïðèñâàèâàåò ïîëó÷åííîå çíà÷åíèå ïåðåìåííîé SqlString |
********************************************************************************************/ |
void TableField::createSqlString(){ |
QString str_tmp = ""; |
str_tmp.append(tr("'")); |
str_tmp.append(fieldName); |
str_tmp.append(tr("' ")); |
str_tmp.append(fieldType); |
//str_tmp.append(tr(" ")); |
if (characterSet !="") { |
str_tmp.append(tr(" character set")); |
str_tmp.append(characterSet); |
} |
if (notNull) { str_tmp.append(tr(" NOT NULL")); } |
if (defaultValue !="") { |
str_tmp.append(tr(" default '")); |
str_tmp.append(defaultValue); |
str_tmp.append(tr("'"));} |
TableField::SqlString = str_tmp; |
} |
QString TableField::sqlString(){ |
return TableField::SqlString; |
} |
void TableField::setDefaultValue(QString fdefaultValue){ |
TableField::defaultValue = fdefaultValue; |
TableField::createSqlString(); |
} |
/trunk/ClassEditor/classeditor.cpp |
---|
9,7 → 9,10 |
// settdialog = new SettingsDialog(this); |
settdialog.show(); |
sql.setDatabaseName(tr("an_db")); |
field = new TableField(this); |
field = new TableField(tr("Ñîòðóäíèêè"), this); |
// field->setNotNull(true); |
field->setDefaultValue(tr("ñîòðóäíèê")); |
ui->lineEdit->insert(field->sqlString()); |
} |
/trunk/ClassEditor/tablefield.h |
---|
18,17 → 18,30 |
{ |
Q_OBJECT |
public: |
explicit TableField(QObject *parent = 0); |
/*********************************************************************************************** |
** Êîíñòðóêòîð êëàññà TableField èìååò îäèí îáÿçàòåëüíûé ïàðàìåòð - èìÿ ïîëÿ |
** îñòàëüíûå ïàðàìåòðû èìåþò çíà÷åíèÿ ïî óìîë÷àíèþ: |
** *parent = 0 (íåò "ðîäèòåëüñêîãî" îáúåêòà) |
** ftype = CHAR(30) (òèï õðàíèìûõ â ïîëå äàííûõ - ñòðîêà èç 30 ñèìâîëîâ) |
** fdefaultValue = NULL (äàííûå â ïîëå ìîãóò èìåòü "ïóñòîå" çíà÷åíèå) |
***********************************************************************************************/ |
explicit TableField(QString fname, QObject *parent = 0, QString ftype = "CHAR(30)", QString fdefaultValue = "NULL"); |
signals: |
public slots: |
private: |
QString fieldName; // переменная содержит имя базы данных, с которой будем устанавливать соединение |
QString fieldType; // переменная содержит описание типа данных, хранимых в поле |
QString defaultValue; // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
QString fieldName; // ïåðåìåííàÿ ñîäåðæèò èìÿ ïîëÿ |
QString fieldType; // ïåðåìåííàÿ óêàçûâàåò íà òèï äàííûõ, õðàíèìûõ â ïîëå |
QString defaultValue; // çíà÷åíèå ïîëÿ ïî óìîë÷àíèþ |
QString characterSet; // ïåðåìåííàÿ ñîäåðæèò êîäèðîâêó, â êîòîðîé õðàíÿòüñÿ òåêñòîâûå äàííûå |
bool notNull; // ôëàã, óêàçûâàþùèé, ÷òî õðàíèìîå â ïîëå çíà÷åíèå íå ìîæåò áûòü ïóñòûì (NULL) |
QString SqlString; // ñêòîêà Sql-çàïðîñà äëÿ ñîçäàíèÿ ïîëÿ â áàçå äàííûõ |
void createSqlString(); // ôóíêöèÿ ãåíåðèðóåò ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå |
protected: |
public: |
36,6 → 49,11 |
void setType(QString ftype); |
QString name(); |
QString type(); |
bool isNotNull(); |
void setNotNull(bool fnotNull); |
void setDefaultValue(QString fdefaultValue); |
QString sqlString(); // ôóíêöèÿ âîçâðàùàåò ñòðîêó Sql-çàïðîñà, êîòîðàÿ ñîçäàåò â áàçå äàííûõ ñîîòâåòñòâóþùåå ïîëå |
}; |
#endif // TABLEFIELD_H |