以前做系统管理的时候,经常和数据库打交道,基本上也就是导出数据,整理导回去,基本上也就是字符串操作。最早的时候是用易语言,连数据库读出来,整理写回去;后来在linux下工作,基本也就是bash+mysql命令;再后来会写php脚本了,基本上能走php的都走php了。再到后来就是现在了,现在天天捣鼓object-c,今天突然要操作一下数据库,把不想要的数据先查出来,然后再给删除掉,挺简单的个活儿,但是只用数据库命令还是搞不定,肿么办,写脚本呗。开始想还是用php,但一想,用php我也得再查连接数据库的命令,要不试试object-c?google一下object-c + mysql,没想到第一页第三条结果就是我想要的。
ok,简单说一下过程。首先下载ObjC_mysql_intel.zip同时支持32和64位平台用的是mysql6.0.1的c连接器编译的。
第二步,把下载的zip文件解压后的全部文件导入到你的工作里。
第三步,开始写代码了。
引入头文件
#import "MysqlConnection.h"
连接数据库
MysqlConnection connection = [MysqlConnection connectToHost:@"serverName"
user:@"aUserName"
password:@"aPassword"
schema:@"myForumName"
flags:MYSQL_DEFAULT_CONNECTION_FLAGS];
查询并输出结果:
MysqlFetch userFetch = [MysqlFetch fetchWithCommand:@"select U_Number,U_Username from w3t_Users"
onConnection:connection];
NSLog(@"There are %@",userFetch.results);
执行删除操作:
MysqlDelete *deleteCommand = [MysqlDelete deleteWithConnection:connection];
deleteCommand.tableName=@"w3t_Users";
deleteCommand.qualifier=[NSString stringWithFormat:@"U_Number=%@",[userRow valueForKey:@"U_Number"];
[deleteCommand execute];
基本就上面这么多了。我在使用的过程中,由于一次取数据,然后删除还会有重复的数据存在,还在再执行取数据然后删除,加到一个while循环里做竟然不好使,还好量不大,重复执行就四五次就ok了。
anyway,开源万岁~~
更新:
今天测试了一下最新的2.0版,发现在while内循环调用ok了。不过有个内存管理的就问题,自已改一下就好了。
相关博文