测试了下
将
netdb.removeDatabase("netdb");
netdb=QSqlDatabase::addDatabase("QODBC","netdb");
改为
netdb=QSqlDatabase::addDatabase("QODBC","netdbtest");
就可以直接使用netquery了。
- QSqlDatabase netdb=QSqlDatabase::addDatabase("QODBC","netdb");
- netdb.setDatabaseName(QString("DRIVER={SQL SERVER};"
- "SERVER=%1;" //服务器名称
- "DATABASE=%2;"//数据库名
- "UID=%3;" //登录名
- "PWD=%4;" //密码
- ).arg(netservername)
- .arg(netdatabase)
- .arg(netlogid)
- .arg(netlogpassword)
- );
- if ( !netdb.open())
- {
- QMessageBox::critical(0, "无法连接网络数据库!",
- netdb.lastError().databaseText(), QMessageBox::Cancel);
- return;
- }
- QSqlQuery netquery(netdb);
- bool rtn=netquery.exec("select ttmc from tttzd");
- if(!rtn)
- {
- QMessageBox::critical(0, "检索网络库错误!",
- netdb.lastError().databaseText(), QMessageBox::Cancel);
- return;
- }
- QMessageBox::critical(0, "wait wl!",
- netdb.lastError().databaseText(), QMessageBox::Cancel);
- //netdb.removeDatabase("netdb");
- netdb=QSqlDatabase::addDatabase("QODBC","netdb1");
- netdb.setDatabaseName(QString("DRIVER={SQL SERVER};"
- "SERVER=%1;" //服务器名称
- "DATABASE=%2;"//数据库名
- "UID=%3;" //登录名
- "PWD=%4;" //密码
- ).arg(netservername)
- .arg(netdatabase)
- .arg(netlogid)
- .arg(netlogpassword)
- );
- if ( !netdb.open())
- {
- QMessageBox::critical(0, "无法连接网络库!",
- netdb.lastError().databaseText(), QMessageBox::Cancel);
- return;
- }
- //QSqlQuery netquery1(netdb);
- rtn=netquery.exec("select ttbh from tttzd");
- if(!rtn)
- {
- QMessageBox::critical(0, "检索网络库错误!",
- netdb.lastError().databaseText(), QMessageBox::Cancel);
- return;
- }
- netquery.next();
- QString ls_bh=netquery.value(0).toString();
- QString ls_mc=ls_bh;