QT 数据库操作(创建,插入。。)
(2014-08-13 23:59:24)
标签:
365itcreatedatabaseqsqlquery |
分类: QT |
知道怎么操作数据库了,就会很快类推到相关的操作。只是开始不知道的时候,不知道从哪下手。GOOGLE 后也很少有人会贴代码让大家
去参考。下面就简单的贴下自己写的 创建和插入的操作方法。会写数据库的童鞋知道语法了 就知道怎么写了。。。
[c-sharp] view
plaincopy
-
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; -
}
插入操作
[c-sharp] view
plaincopy
-
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; -
}
照猫画虎的本事,大家应该是应该有的吧。呵呵

加载中…