qt平台 mysql数据库的选择,

qt平台 mysql数据库的选择,

如果是本地主机作为服务器.

#if 1

    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    //数据库连接所需要设置的信息
    db.setHostName("127.0.0.1");//
    db.setDatabaseName("stu_sys");//数据库名字
    db.setUserName("root");//数据库用户名
    db.setPassword("root");//数据库密码
    db.setPort(3306);//数据库端口号
   //连接数据库
    bool ok=db.open();
    if(ok)
    {
        qDebug()<<"success";
    }
    else {
        qDebug()<<"fail!";
    }





#endif

但注意,mysql数据库是非文件型数据库。也就是你没法找到他的数据库文件进行向sqllite 那样直接用数据库文件的相对路径直接使用数据库(后面有)

请问,qt连接MySQL数据库用的setdatabaseName怎么使用mysql数据库名字的相对路径( 找不到mysql数据库文件相对的路径 )


mysql只需要知道 数据库名称,用户名,密码,就行,不需要知道库文件在哪。mysql是一个服务,它隔离了文件与用户请求。
即使是你访问本机,也只能用localhost 或127.0.0.1通过网络接口,它只有网络接口

那别的电脑要使用怎么办
我这个数据库不在他电脑上
mysql数据库怎么迁移到另一台电脑

导出成sql文件,另一台电脑导入


本地使用的话不装数据库,就换成sqllite了

如果是云服务器或者云数据库

可以去申请平台网站有

https://wsfdb.cn/
https://www.db4free.net
http://sqlpub.com/

使用方法(以qt上使用mysql为例)

mysql  -h 主机IP -u 用户名 -p密码 

这里的主机ip可以是域名,域名会解析为ip

以 http://sqlpub.com/ 上申请到的数据库为例

申请成功
数据库名称:stu_sys
数据库用户:rootroot
数据库密码:b7775733c7d1b39d
数据库地址:mysql.sqlpub.com:3306
注册邮箱:2278135632@qq.com

那我们在控制台上的代码就是

C:\Users\X-SHELL-GOOGLE>mysql -h mysql.sqlpub.com -u rootroot -p
Enter password: ****************

我们也可以在qt上使用

#if 0

    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    //数据库连接所需要设置的信息
    db.setHostName("mysql.sqlpub.com");//填申请到的域名,自动解析ip
    db.setDatabaseName("stu_sys");//数据库名字
    db.setUserName("rootroot");//数据库用户名
    db.setPassword("b7775733c7d1b39d");//数据库密码
    db.setPort(3306);//数据库端口号
   //连接数据库
    bool ok=db.open();
    if(ok)
    {
        qDebug()<<"success";
    }
    else {
        qDebug()<<"fail!";
    }



#endif

如果你不想这么麻烦 可以试试 sqllite , sqllite 在qt上的代码是

//这是sqllite的操作语句
#if 0

    //不存在相关驱动就加载                           《mysql》
    if (QSqlDatabase::drivers().isEmpty())
        QMessageBox::information(nullptr, tr("No database drivers found"),
                                 tr("This demo requires at least one Qt database driver. "
                                    "Please check the documentation how to build the "
                                    "Qt SQL plugins."));






 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");


 db.setDatabaseName("C:\\Users\\X-SHELL-GOOGLE\\Desktop\\data.db");

    if (!db.open())

        QMessageBox::warning(nullptr, tr("Unable to open database"), tr("An error occurred while "));

    //执行sql语句

    QSqlQuery q( "",db);


    q.exec("insert into student values(NULL, '张三', 12, 3, 2, 1, 15940224444, 'asdzhang')");
    qDebug()<<"testfil";

#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丁金金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值