QT 数据库操作(创建,插入。。)
知道怎么操作数据库了,就会很快类推到相关的操作。只是开始不知道的时候,不知道从哪下手。GOOGLE 后也很少有人会贴代码让大家
【QT 数据库操作(创建,插入。。)】去参考。下面就简单的贴下自己写的 创建和插入的操作方法。会写数据库的童鞋知道语法了 就知道怎么写了。。。
bool database::createDatabase() { QSqlQuery query;
// 此处请查询 query的相关操作 qDebug() << "Start to create table...";
//create table: User query.exec("CREATE TABLE [User] ( [userId] VARCHAR(40) NOT NULL, [username] VARCHAR(40) NOT NULL, [email] VARCHAR(40), [password] VARCHAR(40), [city] VARCHAR(20), PRIMARY KEY([userId]) )");
// 一定注意不要拼写错误,引号内是不提示拼写错误的。自己也感觉这有点不方便 //create table: Connect query.exec("CREATE TABLE [Connect] ( [LeftUser] VARCHAR(40) NOT NULL, [RightUser] VARCHAR(40) NOT NULL, [relation] INTEGER DEFAULT '0' NULL, PRIMARY KEY ([LeftUser], [RightUser]))");
if (query.lastError().isValid()) { qDebug() << query.lastError();
return false;
} else { qDebug() << "Create database successfully.";
} return true;
}
插入操作
bool database::adduser( User user ) { if (!db.isOpen()) { createconnection();
} QSqlQuery query;
qDebug() << "start to insert data";
query.exec("INSERT INTO [User] ( userId, username, email, password, city) VALUES(?,?,?,?,?)");
QVariantList userId;
userId << user.getUserId();
query.addBindValue(userId);
QVariantList username;
username << user.getUserName();
query.addBindValue(username);
QVariantList email;
email << user.getEmail();
query.addBindValue(email);
QVariantList password;
password << user.getPassword();
query.addBindValue(password);
QVariantList city;
city << user.getCity();
query.addBindValue(city);
try { if (!query.execBatch()) { qDebug() << query.lastQuery();
qDebug() << query.lastError();
return NULL;
} } catch(...) { QMessageBox::critical(0, "Add New Node error!", "Unable to add a new Node!/n/n" "Click Cancel to exit.", QMessageBox::Cancel);
} if( !UpdateConnectTable(user.getUserId(),user.getUserId(),2)) { QMessageBox::critical(0,"","Update table Connect error");
return NULL;
} return true;
}
照猫画虎的本事,大家应该是应该有的吧。呵呵
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 2.6|2.6 Photoshop操作步骤的撤消和重做 [Ps教程]
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- django-前后端交互
- 在线版的迅捷思维导图怎么操作()
- 操作系统|[译]从内部了解现代浏览器(1)
- 数据库设计与优化
- IDEA|IDEA 创建工程
- 数据库总结语句
- JS常见数组操作补充