我连接了两个数据库,第一个可以用,但是第二个错误提示 数据库名 没有定义。请问各位,我怎样把 数据库名 传过去啊?
//data.h
#ifndef DATA_H
#define DATA_H
#include <QtSql>
#include <QSqlDatabase>
#include <QSqlQuery>
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("/home/wj/Desktop/better/data");
if(!db.open()) return false;
QSqlQuery query;
query.exec("create table student (name char primary key, password vchar,birth vchar,edu vchar)");
return true;
}
static bool newConnection()
{
QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE","chn");
db1.setDatabaseName("/home/wj/Desktop/better/chn");
if(!db1.open()) return false;
QSqlQuery query;
query.exec("create table pingyin(py varchar(10),chn varchar(10))");
return true;
}
#endif // DATA_H
// logindlg.cpp
#include "data.h"
#include <QtGui>
#include <QtSql>
#include <QDebug>
#include "logindlg.h"
logindlg::logindlg(QWidget *parent)
: QWidget(parent)
{
///
void logindlg::on_loginButton_clicked()
{
QSqlQuery query; //这个连接可以用
while(query.next())
{
QString one=query.value(0).toString();
QString two=query.value(1).toString();
}
}
void logindlg::on_checkBtn_Clicked() //这个连接就不行了,
{
QSqlQuery query(db1); //here? 提示这行的 db1 not declared 问题就在这
query.exec("create table pingyin(py varchar(10),chn varchar(10))");
query.exec("select py,chn from pingyin");
query.first();
while(query.next())
{
bool findchn=false;
if(pying==query.value(0).toString())
{
QString chn_1=query.value(1).toString();
font_1->setText(chn_1);
findchn=true;
}
}
}