转自
网上查找各方面的资料,终于历尽万苦,在程序中成功连接mysql
下面主要介绍些要天界的主要文件:
include文件夹 mysql的一些基本库文件,网上找到的库文件基本上都不完整,缺少关键的几个文件
my_config.h.in
mysql_version.h.in
继续记录:
1.把include文件夹添加到工程里
2.添加libmysqlclient.a 到framework里
看图:
工程目录截图:
连接数据库代码很简单,部分代码如下
-(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");
}
-(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
MYSQL_ROW row = mysql_fetch_row(result);
NSMutableArray *recordArr = [[NSMutableArray alloc] init];
for(int j=0;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;
}
libmysqlclient.a文件 下载地址 :http://download.csdn.net/source/3425857
include mysql 库文件 下载地址 :http://download.csdn.net/source/3425860
iphone程序远程连接mysql实例工程 下载地址 :http://download.csdn.net/source/3425844
最新代码实例(ios6测试通过,支持ARC,支持中文)http://download.csdn.net/detail/mac_fly/4678844
转贴请注明来自