在QT 的 .pro 工程文件中需要添加
#增加数据库支持
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);
QSqlQuery query;
query.exec(cmd);
if(query.next())
{
if(query.value(0).toString() == 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'>添加失败!");
}