iOS连接mysql数据库及基本操作
来源:互联网 发布:淘宝可以改好评吗 编辑:程序博客网 时间:2024/05/29 07:25
首先设计一个带 IP地址、端口号、用户名、密码 四个输入框及连接、查询等按钮的界面的iOS程序,然后引入要连接mysql数据库需要的文件:include mysql库文件(下载地址:http://download.csdn.net/source/3425857)和libmysqlclient.a文件(下载地址:http://download.csdn.net/source/3425860)。
然后添加一个实现连接mysql数据库及对数据库进行相关操作的方法的类。其实现连接mysql数据库及对数据库进行相关操作的方法的实现如下:
//连接数据库
-(void)connectHost:(NSString *)host connectUser:(NSString *)user connectPassword:(NSString *)password connectName:(NSString *)name{ myconnect = mysql_init(nil); //新增。设置编码(解决中文乱码问题) mysql_options(myconnect, MYSQL_SET_CHARSET_NAME, "gb2312"); myconnect = mysql_real_connect(myconnect,[host UTF8String],[user UTF8String],[password UTF8String],[name UTF8String],MYSQL_PORT,NULL,0); if(!myconnect) { printf("error code=%i",mysql_errno(myconnect)); return; } NSLog(@"connected to Mysql");}
//查询数据库中数据,参数sql既为SQL查询语句(@"select name from table1"),返回SQL语句查询到的结果,我理解的是recordArr中存放的是每组数据(每个column)中查询到的结果,而recordsArray中存放的是recordArr,即有几个column就有几个recorder。-(NSMutableArray*)query:(NSString *)sql{ if(!myconnect) { NSLog(@"Please connect first"); return nil; } NSMutableArray *recordsArray = [[[NSMutableArray alloc] init] autorelease]; mysql_query(myconnect, [sql UTF8String]); MYSQL_RES* result = mysql_store_result(myconnect); int num_rows = mysql_num_rows(result); int num_fields = mysql_num_fields(result); for(int i=0;i<num_rows;i++) { MYSQL_ROW row = mysql_fetch_row(result); NSMutableArray *recordArr = [[NSMutableArray alloc] init]; for(int j=0;j<num_fields;j++) { //最新修改,解决中文乱码问题 //中文简体编码:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSChineseSimplif) //NSString* value= [NSString stringWithUTF8String:row[j]]; NSString* value= [NSString stringWithCString:row[j] encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSChineseSimplif)]; [recordArr addObject:value]; } [recordsArray addObject:recordArr]; [recordArr release]; } return recordsArray;}
//断开数据库连接
- (void)disconnect{ mysql_close(myconnect); NSLog(@"Close From Mysql");}
//修改数据库中的数据(无返回值)。删除、增加数据都可以调用此方法。
-(void)update:(NSString *)sql{ if(myconnect) { mysql_query(myconnect, [sql UTF8String]); } else { NSLog(@"Please connect to DB first"); return; }}
//连接按钮处理方法
-(void)btnConnectTapped:(id)sender{ NSLog(@"%@",ipText.text); NSLog(@"%@",duankouTextField.text); NSLog(@"%@",nameTextField.text); NSLog(@"%@",passwordTextField.text); mysqlManager = [[MysqlManager alloc]init]; [mysqlManager connectHost:[NSString stringWithFormat:@"%@",ipText.text] connectUser:nameTextField.text connectPassword:passwordTextField.text connectName:@"wgjchm"];}
//查询按钮处理方法
-(IBAction)queryButtonTapped:(id)sender{ //插入数据
[mysqlManager update:@"insert into fdgg values(5,'hc',1,80,0)"];
//查询数据 NSMutableArray *res = [mysqlManager query:@"select name from fdgg"]; NSLog(@"%d",res.count); for(int i = 0; i < [res count]; ++i) { NSMutableArray *record = [res objectAtIndex:i]; for(int j = 0; j < [record count]; ++j) { //value既为查询到的name值
NSString *value = [record objectAtIndex:j]; NSLog(@"value=%@",value); } }
//断开连接 [mysqlManager disconnect];}
注:如果是连本地数据库IP地址为:127.0.0.1或localhost 端口号默认为:3306(但不全是,要视情况而定)
2 0
- iOS连接mysql数据库及基本操作
- iOS连接mysql数据库及基本操作
- mysql连接及数据库操作
- Java连接Mysql数据库的基本操作
- ADO.NET连接数据库,及基本操作
- nodejs连接mysql数据库及基本认识
- MySQL数据库介绍及基本操作
- Python连接及操作MySQL数据库
- java连接mysql实例及数据库操作
- Ado 连接数据库 Sql Server2000 及基本数据库操作
- 数据库的基本操作及数据库与c#的连接
- java连接数据库及对数据库的基本操作
- JAVA连接到MySQL数据库的基本操作
- asp与ACCESS数据库的连接及基本操作
- asp与ACCESS数据库的连接及基本操作
- vc连接access数据库及数据表基本操作
- vs2010连接access数据库及数据表基本操作(二)
- MySql数据库基本操作
- 信管1134-03 数据结构第一章 绪论 知识导图
- hdu 5012 dice
- Android Lint分类及常见错误
- HTTP Keep-Alive详解
- mysql使用07
- iOS连接mysql数据库及基本操作
- sqlserver 日志清除工具
- 第一节知识导图
- request.getRequestDispatcher() adt卸载 R.java文件丢失
- LeetCode OJ - Recover Binary Search Tree
- CF-46D-Parking Lot(线段树,区间合并,点表示线段)
- Activity 的启动模式
- 对输入的字符串按照字母序列排序并输出
- MySQL查询不区分大小写问题