qt数据库表格
//QSqlDataBase里面可以查询所有表的名字,然后进行匹配即可
QSqlDatabasedb=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("acidalia");
db.setDatabaseName("customdb");
db.setUserName("mojito");
db.setPassword("J0a1m8");
boolok=db.open();
//打开数据库
QSringListstrTables=db.tables();
if(strTables.contains("Yourtable"){
qDebug()<<"Yes";
}
else{
qDebug()<<"no";
}
‘贰’ QT连接数据库并在dialog中显示数据表的内容怎么做
这个网上都搜得到,书上也有。 我提关键几点:1.连接数据库时,要在你这个工程的 .pro文件里 最后添上 QT +=sql
2.连接数据库时,你连接用的用户名要吧权限设置高,否者,数据写不进去
把数据读出来方法比较多,有QT自带的模板可用,你可以去借点书系统的看下就知道了
‘叁’ qt实现选中数据库中的一个数据。使其确认显示到lineEdit中
创建QSqlQueryModel 保存表数据库的表,model就显示在控件中(QTableView->setModel()),
选中表中的项,可以得到当前行数,也就可以获得当前数据,最后lineEdit->setText(xx);
‘肆’ QT中table view怎么显示sqlite数据库的内容
在QT的widget中用tableview显示sqlite数据库表中的内容。
假设有数据库文件test.db,有表table(id integer, name nvarchar(20),age integer),且有数条数据。
首先用QTcreator创建一个基于Widget类的窗口,再拖一个tableview到widget中,保存,然后按照如下方法进行:
1.在widget.h中增添头文件:QtSql/qsql.h、QtSql/QsqlDatabase、QtSql/QsqlQuery、QtSql/QsqlQueryModel
2.在.pro工程文件中添加:QT+=sql
3.在widget.cpp中widget的构造函数中添加如下代码:
QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
if(!db.open())
{
//错误处理
}
static QSqlQueryModel *model = new QSqlQueryModel(ui->tableview);
model->setQuery(QString("select * from table"));
model->setHeaderData(0,Qt::Horizontal,QObject::tr("编号"));
model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
model->setHeaderData(2,Qt::Horizontal,QObject::tr("年龄"));
ui->tableview->setModel(model);
db->close();
这样之后,table表里的内容就会显示到tableview中了。