#增加數據庫支持
QT += sql
初始化創建數據庫
void Widget::initsql()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("bank.db");
if(db.open())
{
qDebug()<<"db open succ";
}else{
qDebug()<<"db open fail";
}
}
創建初始化 數據庫表
void Widget::createTable()
{
QString cmd = "create table user("
"ID char(9) primary key,"
"Name varchar(10) not null,"
"Passwd varchar(20) not null,"
"Balance char(10) not null);";
QSqlQuery query;
if(query.exec(cmd))
{
qDebug()<<"create succ";
}else{
qDebug()<<"create fail";
}
}
訪問數據庫操作
QString cmd = tr("select Passwd from user "
"where ID = '%1';").arg(id);// 獲取數據庫中ID 爲 id的數據
QSqlQuery query; // 定義數據庫類
query.exec(cmd); // 執行數據指令
if(query.next()) //
{
if(query.value(0).toString() == passwd)
{
// 數據庫中的passwd 等於 passwd;
}
}
更新數據庫數據
QString cmd = tr("update user set Balance = '%1' where ID = '%2'").arg(getmoney).arg(id);
QSqlQuery query;
query.exec(cmd);
刪除數據庫數據
QString cmd = tr("delete from user where ID = '%1';").arg(id);
QSqlQuery query;
if(query.exec(cmd))
{
QMessageBox::information(this,"提示","刪除用戶信息成功!");
emit deleteusersucc();
}else {
QMessageBox::information(this,"提示","失敗!");
}
添加數據庫信息
QSqlQuery query;
QString cmd = tr("insert into user values("
"'%1', '%2', '%3', '%4')").arg(id).arg(name).arg(passwd).arg(balance);
if(query.exec(cmd))
{
QMessageBox::information(this,"提示","<font color='black'>添加成功!");
emit addusersucc();
}else{
QMessageBox::information(this,"提示","<font color='black'>添加失敗!");
}