MySQL数据库放入QSqlTableModel会卡死
原来用的数据库是SQL Server,运行一切正常,现在转成MySQL,连接上了没什么问题,但是将数据库放入QSqlTableModel操作会卡死连接的代码:db = QSqlDatabase::addDatabase("QODBC");//数据库驱动类型位sqlserver QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForLocale(codec); db.setHostName(Target_IP);//IP db.setPort(3306);//端口号 db.setDatabaseName(Database_Name);//设置数据库名称 db.setUserName(User_Name);//登录用户 db.setPassword(User_Password);//密码 if(!db.open()) //打开数据库失败 { }
pModel = new QSqlTableModel(this, NSQL_Server.db); pModel->setTable(NSQL_Server.Table_Name); pModel->setEditStrategy(QSqlTableModel::OnManualSubmit); pModel->select(); //到这一步软件卡死崩溃,屏蔽这句代码能正常显示数据库内容
pMode->submitAll();//这句也会卡死
用SQL Server数据库代码完全没问题,为什么MySQL就有问题?查不出原因,大神帮帮忙
表里面很多数据吗?我也经常这样用,没出现过问题 卡死估计是你的表太大了,然后你也没有设置filter来过滤数据。如果你并不需要一次把一个表数据都加载进来,最好setFilter再select.
页:
[1]