日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 连接 iOS_iOS连接mysql数据库及基本操作

發布時間:2025/3/15 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 连接 iOS_iOS连接mysql数据库及基本操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先設計一個帶 IP地址、端口號、用戶名、密碼 四個輸入框及連接、查詢等按鈕的界面的iOS程序,然后引入要連接MySQL數據庫需要的文件:include

mysql庫文件(下載地址:http://download..net/source/3425857)和libmysqlclient.a文件(下載地址:http://download..net/source/3425860)。

然后添加一個實現連接mysql數據庫及對數據庫進行相關操作的方法的類。其實現連接mysql數據庫及對數據庫進行相關操作的方法的實現如下:

[objc]?view

plaincopy

//連接數據庫

[objc]?view

plaincopy

-(void)connectHost:(NSString*)hostconnectUser:(NSString*)userconnectPassword:(NSString*)passwordconnectName:(NSString*)name

{

myconnect?=?mysql_init(nil);

//新增。設置編碼(解決中文亂碼問題)

mysql_options(myconnect,?MYSQL_SET_CHARSET_NAME,?"gb2312");

myconnect?=?mysql_real_connect(myconnect,[hostUTF8String],[userUTF8String],[passwordUTF8String],[nameUTF8String],MYSQL_PORT,NULL,0);

if(!myconnect)

{

printf("error?code=%i",mysql_errno(myconnect));

return;

}

NSLog(@"connected?to?Mysql");

}

[objc]?view

plaincopy

[objc]?view

plaincopy

//查詢數據庫中數據,參數sql既為SQL查詢語句(@"select?name?from?table1"),返回SQL語句查詢到的結果,我理解的是recordArr中存放的是每組數據(每個column)中查詢到的結果,而recordsArray中存放的是recordArr,即有幾個column就有幾個recorder。

-(NSMutableArray*)query:(NSString*)sql

{

if(!myconnect)

{

NSLog(@"Please?connect?first");

returnnil;

}

NSMutableArray*recordsArray?=?[[[NSMutableArrayalloc]init]autorelease];

mysql_query(myconnect,?[sqlUTF8String]);

MYSQL_RES*?result?=?mysql_store_result(myconnect);

intnum_rows?=?mysql_num_rows(result);

intnum_fields?=?mysql_num_fields(result);

for(inti=0;i

{

MYSQL_ROW?row?=?mysql_fetch_row(result);

NSMutableArray*recordArr?=?[[NSMutableArrayalloc]init];

for(intj=0;j

{

//最新修改,解決中文亂碼問題

//中文簡體編碼:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSChineseSimplif)

//NSString*?value=?[NSString?stringWithUTF8String:row[j]];

NSString*?value=?[NSStringstringWithCString:row[j]encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSChineseSimplif)];

[recordArraddObject:value];

}

[recordsArrayaddObject:recordArr];

[recordArrrelease];

}

returnrecordsArray;

}

[objc]?view

plaincopy

//斷開數據庫連接

[objc]?view

plaincopy

-?(void)disconnect

{

mysql_close(myconnect);

NSLog(@"Close?From?Mysql");

}

[objc]?view

plaincopy

[objc]?view

plaincopy

//修改數據庫中的數據(無返回值)。刪除、增加數據都可以調用此方法。

[objc]?view

plaincopy

-(void)update:(NSString*)sql

{

if(myconnect)

{

mysql_query(myconnect,?[sqlUTF8String]);

}

else

{

NSLog(@"Please?connect?to?DB?first");

return;

}

}

[objc]?view

plaincopy

//連接按鈕處理方法

[objc]?view

plaincopy

-(void)btnConnectTapped:(id)sender

{

NSLog(@"%@",ipText.text);

NSLog(@"%@",duankouTextField.text);

NSLog(@"%@",nameTextField.text);

NSLog(@"%@",passwordTextField.text);

mysqlManager?=?[[MysqlManageralloc]init];

[mysqlManagerconnectHost:[NSStringstringWithFormat:@"%@",ipText.text]connectUser:nameTextField.textconnectPassword:passwordTextField.textconnectName:@"wgjchm"];

}

[objc]?view

plaincopy

[objc]?view

plaincopy

//查詢按鈕處理方法

[objc]?view

plaincopy

-(IBAction)queryButtonTapped:(id)sender

{

//插入數據

[objc]?view

plaincopy

[mysqlManagerupdate:@"insert?into?fdgg?values(5,'hc',1,80,0)"];

[objc]?view

plaincopy

//查詢數據

NSMutableArray*res?=?[mysqlManagerquery:@"select?name?from?fdgg"];

NSLog(@"%d",res.count);

for(inti?=0;?i?

{

NSMutableArray*record?=?[resobjectAtIndex:i];

for(intj?=0;?j?

{

//value既為查詢到的name值

[objc]?view

plaincopy

NSString*value?=?[recordobjectAtIndex:j];

NSLog(@"value=%@",value);

}

[objc]?view

plaincopy

//斷開連接

[mysqlManagerdisconnect];

}

注:如果是連本地數據庫IP地址為:127.0.0.1或localhost ? ? ?端口號默認為:3306(但不全是,要視情況而定)

總結

以上是生活随笔為你收集整理的mysql 连接 iOS_iOS连接mysql数据库及基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。