• 5023阅读
  • 3回复

连接2个数据库,数据库名没有定义? [复制链接]

上一主题 下一主题
离线npuwj
 
只看楼主 正序阅读 楼主  发表于: 2011-05-13
     我连接了两个数据,第一个可以用,但是第二个错误提示 数据库名 没有定义。请问各位,我怎样把  数据库名 传过去啊?
//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;
        }

    }
}


离线浪漫天使
只看该作者 3楼 发表于: 2011-05-13
我倒是感兴趣你为什么要弄两个数据库呢?
因为有两张表吗?
同一个数据库是 可以存放多张表滴。
离线ppdayz

只看该作者 2楼 发表于: 2011-05-13
QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE","chn");

这个东西你在函数里面声明。。。外面的当然看不到啦
离线npuwj
只看该作者 1楼 发表于: 2011-05-13
先谢谢各位了
快速回复
限100 字节
 
上一个 下一个