| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- #include "database.h"
- #include "QSqlRecord"
- Database::Database(QObject *parent) :
- QObject(parent)
- {
- }
- Database::~Database()
- {
- _database.close();
- }
- void Database::SetTableName(QString table)
- {
- _tableName = table + ".db";
- }
- bool Database::openDB()
- {
- _database = QSqlDatabase::addDatabase("QSQLITE","db");
- // _database.setDatabaseName(_tableName);
- _database.setDatabaseName(".//qtDb.db");
- return _database.open();
- }
- bool Database::createProductDatabase()
- {
- QSqlDatabase db = QSqlDatabase::database("db");
- QSqlQuery query(db);
- bool success = query.exec("CREATE TABLE product ("
- "goods_id INTEGER NOT NULL,"
- "code_single VARCHAR NOT NULL,"
- "quantity INTEGER NOT NULL,"
- "batch_no VARCHAR NOT NULL,"
- "category VARCHAR NOT NULL,"
- "level_id INTEGER NOT NULL,"
- "tube_number INTEGER NOT NULL,"
- "gross_weight INTEGER NOT NULL,"
- "net_weight INTEGER NOT NULL,"
- "machine_no VARCHAR NOT NULL,"
- "packing_time VARCHAR NOT NULL,"
- "packing_type VARCHAR NOT NULL,"
- "carton_type VARCHAR NOT NULL,"
- "operator_id INTEGER NOT NULL,"
- "tongbu VARCHAR(1) DEFAULT 0,"
- "remark VARCHAR);");
- // bool success = query.exec("drop table product;");
- if(success)
- {
- qDebug() << QObject::tr("product数据库表创建成功!\n");
- return true;
- }
- else
- {
- qDebug() << QObject::tr("product数据库表已存在!\n");
- return false;
- }
- }
- bool Database::createDetailsDatabase()
- {
- QSqlDatabase db = QSqlDatabase::database("db");
- QSqlQuery query(db);
- bool success = query.exec("CREATE TABLE details ("
- "code_single VARCHAR NOT NULL,"
- "case_number VARCHAR NOT NULL,"
- "box_weight INTEGER NOT NULL,"
- "tube_number INTEGER NOT NULL,"
- "bucket_weight INTEGER NOT NULL,"
- "gross_weight INTEGER NOT NULL,"
- "net_weight INTEGER NOT NULL,"
- "sort VARCHAR NOT NULL,"
- "remark VARCHAR);");
- if(success)
- {
- qDebug() << QObject::tr("details数据库表创建成功!\n");
- return true;
- }
- else
- {
- qDebug() << QObject::tr("details数据库表已存在!\n");
- return false;
- }
- }
- bool Database::insertProduct(product_data productData)
- {
- QSqlDatabase db = QSqlDatabase::database("db");
- QSqlQuery query(db);
- query.prepare("INSERT INTO product(goods_id,"
- "code_single, quantity, batch_no, category,level_id, tube_number,"
- "gross_weight, net_weight, machine_no, packing_time,"
- "packing_type, carton_type, operator_id, remark)"
- "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
- query.bindValue(0,productData.goods_id);
- query.bindValue(1,productData.code_single);
- query.bindValue(2,productData.quantity);
- query.bindValue(3,productData.batch_no);
- query.bindValue(4,productData.category);
- query.bindValue(5,productData.level_id);
- query.bindValue(6,productData.tube_number);
- query.bindValue(7,productData.gross_weight);
- query.bindValue(8,productData.net_weight);
- query.bindValue(9,productData.machine_no);
- query.bindValue(10,productData.packing_time);
- query.bindValue(11,productData.packing_type);
- query.bindValue(12,productData.carton_type);
- query.bindValue(13,productData.operator_id);
- query.bindValue(14,productData.remark);
- bool success=query.exec();
- return success;
- }
- bool Database::insertDetails(details_data detailsData)
- {
- QSqlDatabase db = QSqlDatabase::database("db");
- QSqlQuery query(db);
- query.prepare("INSERT INTO details(code_single,"
- "case_number, box_weight, tube_number, bucket_weight,"
- "gross_weight, net_weight, sort, remark)"
- "VALUES(?,?,?,?,?,?,?,?,?)");
- query.bindValue(0,detailsData.code_single);
- query.bindValue(1,detailsData.case_number);
- query.bindValue(2,detailsData.box_weight);
- query.bindValue(3,detailsData.tube_number);
- query.bindValue(4,detailsData.bucket_weight);
- query.bindValue(5,detailsData.gross_weight);
- query.bindValue(6,detailsData.net_weight);
- query.bindValue(7,detailsData.sort);
- query.bindValue(8,detailsData.remark);
- bool success=query.exec();
- return success;
- }
- bool Database::changeState(QString codesingle)
- {
- QSqlDatabase db = QSqlDatabase::database("db");
- QSqlQuery query(db);
- bool success = query.exec("update product set tongbu=1 where code_single="+codesingle);
- if(success)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool Database::update(QString &table, QStringList &names, QStringList &values, QString &expression)
- {
- if (names.size() != values.size())
- return false;
- //UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
- // QSqlQuery query(QSqlDatabase::database());
- QSqlDatabase db = QSqlDatabase::database("db");
- QSqlQuery query(db);
- QString sql = QString("update ")+table+QString(" set ");
- for (int i = 0; i < names.size(); i++)
- {
- sql += names.value(i);
- sql += QString(" = '");
- sql = sql + values.value(i);
- sql = sql + QString("'");
- if (i != names.size()-1)
- sql = sql + QString(" ,");
- }
- sql = sql + QString(" where ") + expression;
- return (query.exec(sql)) ? true : false;
- }
- bool Database::del(QString &table, QString &expression)
- {
- //DELETE FROM 表名称 WHERE 列名称 = 值
- QSqlQuery query(QSqlDatabase::database());
- QString sql = QString("delete from ") + table + QString(" where ") + expression;
- return (query.exec(sql)) ? true : false;
- }
- QList<QMap<QString,QString>> Database::GetValues(QString &table, QStringList &values)
- {
- dbmxdata.clear();
- dbmxlist.clear();
- QSqlDatabase db = QSqlDatabase::database("db");
- QSqlQuery query(db);
- QString sql = QString("select * from ") + table;
- query.exec(sql);
- while (query.next())
- {
- for(int i = 0;i <= values.size()-1;i++){
- // qDebug()<<values.at(i) << query.value(values.at(i)).toString();
- dbmxdata.insert(values.at(i),query.value(values.at(i)).toString());
- }
- dbmxlist.append(dbmxdata);
- dbmxdata.clear();
- }
- return dbmxlist;
- }
- //void Database::connectDB(QString dbName, QString username, QString password)
- //{
- // if (QSqlDatabase::contains("qt_sql_default_connection"))
- // {
- // database = QSqlDatabase::database("qt_sql_default_connection");
- // }
- // else
- // {
- // database = QSqlDatabase::addDatabase("QSQLITE");
- // database.setDatabaseName(dbName);
- // database.setUserName(username);
- // database.setPassword(password);
- // }
- // if (!database.open())
- // {
- // qDebug() << "Error: Failed to connect database." << database.lastError();
- // }
- // else
- // {
- // QSqlQuery sql_query;
- // QString create_sql;
- //// create_sql = "create table login (name varchar(100), logintime DATETIME)";
- // sql_query.prepare(create_sql);
- // if(!sql_query.exec())
- // {
- // qDebug() << "Error: Fail to create table." << sql_query.lastError();
- // }
- // else
- // {
- // qDebug() << "Table created!";
- // }
- // }
- //}
- //bool Database::insert(QString &table, QStringList &names, QStringList &values)
- //{
- // if(names.size() != values.size())
- // {
- // return false;
- // }
- //// QSqlQuery query(QSqlDatabase::database());
- // QSqlDatabase db = QSqlDatabase::database("db");
- // QSqlQuery query(db);
- // QString sql = QString("insert into ") + table + QString("(");
- // int i;
- // for(i = 0; i < names.size(); i++)
- // {
- // sql = sql + names.value(i);
- // if(i != names.size()-1)
- // {
- // sql += QString(",");
- // }
- // else
- // {
- // sql += QString(")");
- // }
- // }
- // sql = sql + QString("values (");
- // for(i = 0; i < values.size(); i++)
- // {
- // sql = sql + QString("'") + values.value(i) + QString("'");
- // if (i != values.size()-1)
- // {
- // sql += QString(",");
- // }
- // }
- // sql += QString(")");
- // return (query.exec(sql)) ? true : false;
- //}
|