访问sqlite和mysql的方法有什么区别?

时间:2012-03-14 18:10:35

标签: mysql sql qt sqlite

根据我的经验:访问mysql数据库的方式,我应首先访问mysql-server然后访问数据库..但是如果想访问sqlite的数据库,我可以直接访问数据库文件,只需一个文件(.db) ,这很容易..

我的问题:我可以像sqlite一样访问mysql数据库吗?谢谢!

访问mysql的方法如下:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("demo"); 
db.setUserName("root"); 
db.setPassword("root1");

if(db.open()) {
    qDebug("Make it");
} else {
    qDebug("Sorry");
}

访问sqlite的方式如下:

db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("chat.db");

2 个答案:

答案 0 :(得分:1)

我认为你的意思是你想将MySQL用作Embedded Database

如果是,请阅读:http://www.mysql.com/oem/

答案 1 :(得分:1)

在您的特定位置,您无法以相同的方式访问它。正如Adrian所提到的,SQL Lite是一个嵌入式数据库,这意味着它的身份验证与MySQL的服务器 - 客户端模型不同。

因为MySQL数据库不是设备的本地数据库,所以必须使用MySQL用户连接它。否则,您会带来很大的安全风险,因为任何拥有服务器信息的人都可以使用您想要连接的相同字符串进行连接。