这个问题真心要纠结死了

weixin_38048698 2019-09-19 07:21:37
复制代码void Welcome::connectDB(){    int currentIndex=mainWelcome->currentIndex();    QString studentPattern="1010[0-9]{6,6}",teacherPattern="200[0-9]{7,7}";    QRegExp studentReg(studentPattern),teacherReg(teacherPattern);    bool notMatch=false;    //正则表达式 来确认当前输入的账号是否符合当前所选身份    if((currentIndex==0 && !studentReg.exactMatch(student->getStudentUID()))            ||(currentIndex==1 && !teacherReg.exactMatch(teacher->getTeacherUID()))            ||(currentIndex==2 && admin->getAdminUID()!="admin") )    {        notMatch=true;    }    if(notMatch)    {        QMessageBox *errorMsg=new QMessageBox(QMessageBox::Warning,tr("账号错误!"),tr("输入账号与当前选择身份不符!"),                                              QMessageBox::Ok,this);        errorMsg->show();        return;    }    db = QSqlDatabase::addDatabase("QODBC3");    if(detailWidget->isHidden()){        QString dsn=QString("Driver={sql server};server=127.0.0.1;database=SchoolManagement;uid=errorUID;psw=errorPsw");        db.setDatabaseName(dsn);        db.setHostName(QString("127.0.0.1"));        db.setPort(1433);    }else{        db.setHostName(hostNameLine->text());        db.setPort(portLine->text().toInt());        db.setDatabaseName(dbNameLine->text());    }    //根据身份初始化不同窗口    switch(currentIndex)    {    case 0:        db.setUserName(student->getStudentUID());        db.setPassword(student->getStudentPsw());        break;    case 1:        db.setUserName(teacher->getTeacherUID());        db.setPassword(teacher->getTeacherPsw());        break;    case 2:        db.setUserName(admin->getAdminUID());        db.setPassword(admin->getAdminPsw());        break;    }    //是否成功连接    bool connectOK=db.open();    if(connectOK){        //成功登陆后隐藏登陆窗口        qDebug()<<"Connected!";        setVisible(false);        switch(currentIndex)        {        //分登陆角色构建窗口        case 0:            //选择学生,初始化一个学生窗口            student->createStudentMainWindow(db);            break;        case 1:            teacher->createTeacherMainWindow(db);            break;        case 2:            admin->createAdminMainWindow(db);            break;        }    }else{        //弹出对话框提示错误,重新登录        QMessageBox *errorMsg=new QMessageBox(QMessageBox::Critical,tr("连接错误!"),tr("请检查相关信息是否正确!"),                                              QMessageBox::Ok,this);        errorMsg->show();    }}在自己电脑上运行正常,但是在其他电脑上就无法登陆。是代码的问题还是数据源设置的问题呢。。求教啊
...全文
12 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧