找回密码
 立即注册
收起左侧

MySQL数据库放入QSqlTableModel会卡死

2
回复
1904
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2022-6-25 10:52:51 显示全部楼层 |阅读模式
1Qter豆
原来用的数据库是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就有问题?查不出原因,大神帮帮忙



回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2022-6-27 08:42:50 显示全部楼层
表里面很多数据吗?我也经常这样用,没出现过问题
回复

使用道具 举报

尚未签到

2022-10-21 13:53:55 显示全部楼层
卡死估计是你的表太大了,然后你也没有设置filter来过滤数据。如果你并不需要一次把一个表数据都加载进来,最好setFilter再select.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了