32 #include "qdataschemaglobal.h"
34 #if defined(Q_OS_WIN32) && !defined(LIB_NO_DLL)
35 # define DB_IMPORT __declspec(dllimport)
47 QDataSchema(
const QString ctype,
const char *objname = 0, QObject *owner = 0 );
49 #if QT_VERSION<0x040000
50 QString objectName()
const {
return name();};
51 void setObjectName(
const QString &newname ) { setName( newname );};
54 bool open(
const QString &dbname,
55 const QString &dbuser =
"",
const QString &dbpass =
"",
56 const QString &dbhost =
"localhost",
int dbport = 0 );
63 bool databaseCreate(
const QString &dbadmuser,
const QString &dbadmpass );
64 bool databaseDrop(
const QString &dbadmuser,
const QString &dbadmpass );
66 int execList(
const QStringList &query,
bool inTransaction =
false );
68 QDS_SQLTable *
table(
const QString &name = QString::null );
69 QString tableName(
const QString &name );
70 QString tableNameStripPrefix(
const QString &name );
89 virtual int databaseImport(
const QString &filename,
bool updateStruct =
false );
94 void verifyMessage( QString op, QString value, QString oldvalue );
97 void verifyLogRecord(QString op, QString value, QString oldvalue =
"" );
99 QString
ddRecord(
int idx,
bool d_sql =
false );
100 int ddCount(
const QString &etype,
bool d_sql =
false );
101 int ddIndex(
const QString &etype,
int num,
bool d_sql =
false );
102 int ddIndex(
const QString &etype,
const QString &name,
bool d_sql =
false );
103 int ddCountSub(
int idx,
const QString &etype,
bool d_sql =
false );
104 int ddIndexSub(
int idx,
const QString &etype,
int num,
bool d_sql =
false );
105 int ddIndexSub(
int idx,
const QString &etype,
const QString &name,
bool d_sql =
false );
109 void joinLists( QStringList &list,
const QStringList &add );
110 QStringList splitQString(
const QString &div,
const QString &str );
111 QString lowerQString(
const QString &str );
112 QString trimmedQString(
const QString &str);
118 QStringList dd, dd_sql, dd_update, ql_update;
119 QString dd_name, tablename_prefix;
124 #if QT_VERSION<0x040000
129 QString v_dbname, v_dbuser, v_dbpass, v_dbtype, v_dbhost;
132 int readSqlDictionary();
133 int writeSqlDictionary();
QStringList verifyLog()
Возвращает список изменений в БД.
Definition: qdataschema.cpp:1668
int ddIndexSub(int idx, const QString &etype, int num, bool d_sql=false)
Возвращает индекс подчиненного элемента словаря.
Definition: qdataschema.cpp:1485
~QDataSchema()
Закрывает соединение и освобождает ресурсы объекта.
Definition: qdataschema.cpp:223
QString ddRecName(const QString &rec)
Возвращает имя записи элемента словаря.
Definition: qdataschema.cpp:1601
QDataSchema(const QString ctype, const char *objname=0, QObject *owner=0)
Создает и инициализирует новый объект.
Definition: qdataschema.cpp:196
bool databaseCreate(const QString &dbadmuser, const QString &dbadmpass)
Создает новую базу данных.
Definition: qdataschema.cpp:1100
QString fieldTypeSql(const QString &tdef)
Возвращает описание записи поля словаря для активного сервера БД.
Definition: qdataschema.cpp:526
void close()
Закрывает соединение с сервером базоы данных.
Definition: qdataschema.cpp:314
int ddCountSub(int idx, const QString &etype, bool d_sql=false)
Количество подчиненных записей выбранного вида в словаре.
Definition: qdataschema.cpp:1449
static QDataSchemaDriver * createDriver(const QString ctype)
Возвращает список доступных драйверов.
Definition: qdataschema.cpp:1025
Класс для работы с сервером БД.
Definition: qdataschemadriver.h:33
void joinLists(QStringList &list, const QStringList &add)
Добавляет один список строк к другому.
Definition: qdataschema.cpp:1622
bool databaseDrop(const QString &dbadmuser, const QString &dbadmpass)
Удаляет базу данных с сервера.
Definition: qdataschema.cpp:1150
virtual int createSystables()
Создание системных таблиц.
Definition: qdataschema.cpp:568
QStringList updateStructureQuery()
Возвращает список запросов для обновления БД.
Definition: qdataschema.cpp:1645
int execList(const QStringList &query, bool inTransaction=false)
Выполняет список последовательных запросов.
Definition: qdataschema.cpp:1225
QString ddRecord(int idx, bool d_sql=false)
Возвращает запись словаря по индексу.
Definition: qdataschema.cpp:1326
int checkSqlError(QSqlQuery &query)
Проверяет результат выполнения запроса.
Definition: qdataschema.cpp:1190
QString nameSpace() const
Возвращает пространство имен таблиц базы данных.
Definition: qdataschema.cpp:632
QString ddRecType(const QString &rec)
Возвращает тип записи элемента словаря.
Definition: qdataschema.cpp:1575
static bool isDriverAvailable(const QString &name)
Проверка доступности драйвера по имени.
Definition: qdataschema.cpp:1052
int verifyStructure()
Проверяет структуру текущей БД на соответствие описанной в метаданных.
Definition: qdataschema.cpp:706
int updateStructure()
Обновляет структуру таблиц на сервере.
Definition: qdataschema.cpp:957
void setNameSpace(const QString &namesp)
Устанавливает пространство имен таблиц базы данных.
Definition: qdataschema.cpp:651
Класс для работы со схемой базы данных.
Definition: qdataschema.h:43
QDataSchemaDriver * driver()
Возвращает текущий драйвер базы данных.
Definition: qdataschema.cpp:1069
QSqlDatabase * db()
Definition: qdataschema.cpp:336
int ddIndex(const QString &etype, int num, bool d_sql=false)
Возвращает индекс элемента словаря.
Definition: qdataschema.cpp:1384
static QStringList drivers()
Возвращает список доступных драйверов.
Definition: qdataschema.cpp:993
QStringList dataDictionary()
Возвращает словарь описания данных.
Definition: qdataschema.cpp:506
int ddCount(const QString &etype, bool d_sql=false)
Количество записей выбранного вида в словаре.
Definition: qdataschema.cpp:1352
QString ddRecSection(const QString &rec, int secnum)
Возвращает секцию записи элемента словаря.
Definition: qdataschema.cpp:1554
virtual int databaseExport(const QString &filename)
Выгружает информацию из базы данных.
Definition: qdataschema.cpp:1729
bool tableExists(const QString &name)
Проверка существования таблицы на сервере БД.
Definition: qdataschema.cpp:459
QDS_SQLTable * table(const QString &name=QString::null)
Создает объект QSqlCursor для таблицы базы данных.
Definition: qdataschema.cpp:367
virtual int databaseImport(const QString &filename, bool updateStruct=false)
Загружает информацию в базу данных.
Definition: qdataschema.cpp:1820
void setDataDictionary(const QStringList &dd_new)
Устанавливает словарь описания данных.
Definition: qdataschema.cpp:486
void verifyLogRecord(QString op, QString value, QString oldvalue="")
Регистрирует запись изменений в БД.
Definition: qdataschema.cpp:1708
bool open()
Открывает и инициализирует соединение с сервером базы данных.
Definition: qdataschema.cpp:287