iOS 开发中,可以实现app直接连接服务器上的mysql数据库直接取数据么?

iOS 开发中,可以实现app直接连接服务器上的mysql数据库直接取数据么?,第1张

理论上是可以直接读取数据库的,相当于远程连接着数据。简单说明一下,就是用客户端组件,设置数据库地址、端口、用户、密码,然后直接select update,把命令提交到数据库。

但问题在于数据库的信息,用户密码存储在客户端,容易给反编译出来(难度这个我不清楚,你做ios开发可能清楚点)。而当发生安全问题的时候,要改密码或者数据库地址,麻烦事就来了,总不能让用户再升级一次(ios的发布期你也知道)。

此外还要考虑数据在传输过程中是否加密,是否证书方式,现在的网络,劫持植入广告满街都是。好像苹果那边有限制今后的新软件要ssl才行。

可以使用MySQL推出的MySQLConnector/Net组件,该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件,完成该组件后,需要在项目中引用这个组件,之后在程序中引用命名空间MySql.Data.MySqlClient,即可开始进行连接MySQL数据库的 *** 作了,示例如下:

protected voidMySqlCon()

{

//数据库连接字符串跟连接SQLSERVER没有区别

string constr = "server=localhostUserId=rootpassword=rootDatabase=test"

//下面使用MySql Connector/net提供的专用对象

MySqlConnection mycon = new MySqlConnection(constr)

mycon.Open()

MySqlCommandmycmd = new MySqlCommand("select * from users", mycon)

MySqlDataReader myreader = mycmd.ExecuteReader()

while (myreader.Read())

{

if (myreader.HasRows)

{

MessageBox.Show(myreader.GetString("email") )

}

}

myreader.Close()

mycon.Close()

修改方法如下:

1、每一次运行程序,判断数据库是否存在,不存在,创建数据库,存在,进行其他后续处理。

2、创建数据库,并将版本号存入数据库中,同时保存一个当前版本号加1的字段到数据库中。

3、更新app,从数据库中读取到上一次保存的版本号字段,修改完数据结构后,再一次将版本号字段存入数据库。

4、每一次数据库结构有更新,直接在后面加case语句。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6919800.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-30
下一篇2023-03-30

发表评论

登录后才能评论

评论列表(0条)

    保存