u010655288
Mr.Stone^_^
采纳率44%
2015-06-03 08:57 阅读 4.0k

实现qt连接SQLserver实例

新手一枚,初学QT 项目需要用QT连接SQLserver ,求实例学习学习!
补充:windows 平台,QT版本5.2.1 SQL版本2000
坐等大神来

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    woaixiyisa woaixiyisa 2015-06-04 03:54

    QString strDriver = QString("DRIVER={SQL SERVER};SERVER=%1;DATABASE=%2").arg("192.168.0.112").arg("testDBName");
    QSqlDatabase m_db=QSqlDatabase::addDatabase("QODBC");//初始化时候要传类型 不要可能有错误
    m_db.setDatabaseName(strDriver);
    m_db.setHostName("192.168.0.112");
    m_db.setUserName("sa");//用户名密码 必须单独设置一次
    m_db.setPassword("sa");
    if(m_db.isOpen())
    {
    m_strLastError.clear();
    return true;
    }else
    {
    if(m_db.open() == false)
    {
    m_strLastError.clear();
    m_strLastError = m_db.lastError().text();
    qDebug()<< m_strLastError;
    }else
    {
    return true;
    }
    }

        以上登陆连接
        下面查询
        QString strSql = "select * from testTable";
    QSqlQuery *pSqlQuery = new QSqlQuery(m_db);
    if(pSqlQuery)
    {
        pSqlQuery->clear();
        if(pSqlQuery->exec(strSql))
        {
        QString strName = "testName";//"列名"  自己while循环读取
            int nameCol = pSqlQuery->record().indexOf(strName);
            if(nameCol!=-1)
            {           
                return pSqlQuery->value(nameCol).toString();
            }
        }
    }
    
    点赞 评论 复制链接分享
  • feng1790291543 鱼弦 2015-06-05 02:47

    楼上回答的很到位,ip可以用localhost比较好,因为如果在不同的电脑上执行的话,可能ip不同,但是localhost却可以准确定位到ip

    点赞 1 评论 复制链接分享
  • qq_26971331 zjtdd 2015-12-01 15:05

    楼主,感动啊,我已经失败了好几次了。
    求连接成功。。。。

    点赞 评论 复制链接分享

相关推荐