2 u010655288 u010655288 于 2015.06.03 16:57 提问

实现qt连接SQLserver实例

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

3个回答

woaixiyisa
woaixiyisa   2015.06.04 11: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
feng1790291543   Ds   Rxr 2015.06.05 10:47

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

qq_26971331
qq_26971331   2015.12.01 23:05

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

Csdn user default icon
上传中...
上传图片
插入图片