本文为学习记录,若有错误,请联系作者,谦虚受教。
前言
玫瑰的花期到了。
一、连接数据库
一、连接数据库的基本框架
如图所示:
二、其中ODBC中设置方式解释如下:
设置的ODBC名字在后续代码中需要所用到。
Datatbase是自建的数据库,后续再QT中需要用到的数据库名字。
二、相关代码
连接数据库的代码可见上篇博客博客网址
1…cpp代码
这里举个例子:
/*************
* 数据库操作----查询产品号和数量
**************/
void MainWindow::on_btn_select_clicked()
{
QString searchprodect=ui->prodect->text();
if(searchprodect==NULL)
{
QMessageBox::information(this,"警告","请输入需要查询的产品号!");
}
else {
//select id,name from student where id >= 2
//select *from test01 where id= '%1'
QString str=QString("select *from test01 where id = '%1'").arg(searchprodect);//表名、列名
QSqlQuery query;
query.exec(str);
QString prodect_id;
int number;
QString company;
QString prodect_time;
//query.next()指向查到的第一条记录,然后每次后移一条记录。
while(query.next())
{
prodect_id =query.value(0).toString();//query.value()的参数只能是index,列数
number =query.value("number").toInt();//MYSQL语句查询Number列
prodect_time=query.value("time").toString();//MYSQL语句查询time列
company=query.value("company").toString();//MYSQL语句查询company列
qDebug()<<prodect_id<<number<<prodect_time<<company<<endl;
}
if(prodect_id==NULL)
{
QMessageBox::information(this,"警告","产品号不存在,请重新输入!");
ui->prodect->clear();
ui->number->clear();
ui->prodect_time->clear();
ui->prodect_company->clear();
}
else {
ui->prodect->setText(prodect_id);
ui->number->setText(QString().setNum(number));
ui->prodect_time->setText(prodect_time);
ui->prodect_company->setText(company);
ui->number->setEnabled(false);
ui->prodect_time->setEnabled(false);
ui->prodect_company->setEnabled(false);
QMessageBox::information(this,"显示","查询成功!");
qDebug()<<"成功成功成功!";
}
}
}
2.效果展示
这里点击查询按钮,实现了产品号、数量、生产批次、厂家等信息,QT通过连接MYSQL来实现对数据的查询。
总结
善于总结,多进一步。