哈尔滨做网站价格被公司优化掉是什么意思
一、QT中的SQLite数据库
1、添加头文件和模块
Header:
#include <QSqlDatabase>
qmake:
QT += sql//pro文件添加sql模块
执行数据库操作的类:
Header:
#include <QSqlQuery>
qmake:
QT += sql
2、C语言中的SQLite增删减查
SQLite3的基础教程
3、SQLite的初始化
①、创建数据库的链接对象:
QSqlDatabase dataBase;
②、使用数据库驱动
dataBase = QSqlDatabase :: addDatabase("QSQLITE");//添加数据库的驱动
③、设置数据库的名称(创建一个数据库)
dataBase.setDatabaseName("QSQLITE");
④、创建一张表
QString table = "create table user_table(user QString, paswd QString)";
sqlQuery = QSqlQuery(dataBase);//指定这个操作将在哪个数据库上执行。
bool flag = sqlQuery.exec(table);//执行数据库的操作
例子:
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);dataBase = QSqlDatabase :: addDatabase("QSQLITE");//添加数据库的驱动dataBase.setHostName("数据库");dataBase.setDatabaseName("QSQLITE");dataBase.setUserName("123456");dataBase.setPassword("123456");//打开数据库if(dataBase.open()){qDebug() << "打开成功" << endl;}//创建一张表QString table = "create table user_table(user QString, paswd QString)";//执行数据库的操作sqlQuery = QSqlQuery(dataBase);//执行操作的数据库:QSQLITEbool flag = sqlQuery.exec(table);//执行数据库的操作if(flag==true){qDebug()<<"数据库表创建成功"<<endl;}
}
4、插入数据
QString insert = QString("insert into user_table(user,paswd) values('%1','%2')").arg(user).arg(paswd);
例子:
void Widget::on_pushButton_clicked()
{QString user = ui->lineEdit->text();QString paswd = ui->lineEdit_2->text();QString find = QString("select * from user_table where user='%1'").arg(user);bool ret = sqlQuery.exec(find);if(ret){if(sqlQuery.next()){qDebug() << "账号已经存在" << endl;ui->lineEdit->clear();ui->lineEdit_2->clear();return;}}QString insert = QString("insert into user_table(user,paswd) values('%1','%2')").arg(user).arg(paswd);bool flag = sqlQuery.exec(insert);//执行数据库插入操作if(!flag){qDebug()<<"数据插入失败"<<endl;}ui->lineEdit->clear();ui->lineEdit_2->clear();
}
5、查找数据
①、遍历所有数据并保存
QString find = "select * from user_table";
bool flag = sqlQuery.exec(find);//把遍历的所有数据都保存在sqlQuery内
②、对比数据
while(sqlQuery.next())//遍历查询结果中的每一行记录。
{//从查询结果中获取每一行记录的第一列和第二列的值QString user = sqlQuery.value(0).toString();QString paswd = sqlQuery.value(1).toString();if(user == code && paswd == pwd){qDebug() << "登录成功" << endl;}qDebug() << "账号:" << user << endl;qDebug() << "密码:" << paswd << endl;
}
例子:
void Widget::on_pushButton_2_clicked()
{QString code = ui->lineEdit->text();QString pwd = ui->lineEdit_2->text();QString find = "select * from user_table";bool flag = sqlQuery.exec(find);if(flag==true){qDebug()<<"数据库查询成功"<<endl;}while(sqlQuery.next()){QString user = sqlQuery.value(0).toString();QString paswd = sqlQuery.value(1).toString();if(user == code && paswd == pwd){qDebug() << "登录成功" << endl;}qDebug() << "账号:" << user << endl;qDebug() << "密码:" << paswd << endl;}
}
6、注意
- 查询数据的时候,必须要先把遍历的数据保存在sqlQuery类中。